分析Oracle生成Statpack步骤_oracle

1、telnet到远程的数据库服务器
CMD>telnet 远程数据库的IP
2、切换到数据库的用户
DQXXDBS01:/> su - oracle
3、用超级用户进入数据库
$ sqlplus "/as sysdba"
4、查看参数,是否可以用job(可以用job进行自动的收集Statpack Report的数据)
SQL> show parameter job_queue_processes
5、该参数可以收集操作系统的信息
SQL> show parameter timed_statistics
6、为了创建表空间,表空间的数据文件放在哪比较好

复制代码 代码如下:

SQL> select file_name from dba_data_files;

7、查看哪个目录的空间比较大,确定perfstat表空间的数据文件的位置
$ df -g
8、创建表空间:

复制代码 代码如下:

SQL> create tablespace perfstat datafile '/oracle/product/10.2.0/db_1/dbs/perfstat.dbf'size 500M;

--表空间用于存储快照时搜集的数据
9、创建Statspack需要的脚本
SQL> @:/oracle/product/10.2.0/db_1/rdbms/admin/spcreate.sql --"/oracle/product/10.2.0/db_1/rdbms/admin/"为脚本目录
运行该脚本后,输入perfstat_password、default_tablespace、temporary_tablespace
10、测试是否成功,生成数据库的一个快照
SQL> execute statspack.snap
11、再生成一个快照
SQL> execute statspack.snap
12、取两个快照之间时间段的Statspack报告
SQL> @/oracle/product/10.2.0/db_1/rdbms/admin/spreport.sql
输入生成Statspack报告的起始点和终止点,如上生成了两个时间点的快照,输入begin_snap:1和end_snap:2,然后输入生成快照的名称(如1.txt)
--备注:如果没有指定报告放置的位置,则该报告在启动sqlplus时所在的路径
13、用job进行定时产生Statspack的快照,便于收集数据(默认为1小时产生一个快照)
SQL> @/oracle/product/10.2.0/db_1/rdbms/admin/spauto.sql
14、删除历史数据
select max(snap_id) from stats$snapshot;--删除stats$snapshot表中的相应数据,其他表中的相应数据也会级连删除
delete from stats$snapshot where snap_id<3;
也可以通过执行sptrunc.sql该脚本直接删除这些统计表的信息
注意事项:
1、生成需要的Statspack之后,记住移除任务,查看任务:
SQL> select job, log_user, priv_user, last_date,next_date, interval from user_jobs;
2、移除生成Statspack快照的任务:
SQL> execute dbms_job.remove('41')
3、如果在运行spcreate.sql这个脚本出错的话,可以通过运行spdrop.sql这个脚本删除创建的对象,然后再执行spcreate.sql
4、运行spcreate.sql这个脚本后,可以查找相关的lis文件查看安装信息(在sqlplus默认路径下)
其他相关的一些脚本
1、spuexp.par脚本 --可用于导出statpack报告相关的数据的dmp,如下所示
exp userid=perfstat/fyzh parfile=spuexp.par
注意:spuexp.par文件必须在sqlplus登陆的当前路径。如登陆的sqlplus路径是C:\Documents and Settings\Administrator,
那么spuexp.par就要在该目录下,否则提示“LRM-00109: 无法打开参数文件 'spuexp.par'”
2、sprepsql.sql脚本 --用于根据给定的sql hash值生成sql报告
调整STATSPACK的收集门限
Statspack有两种类型的收集选项:
级别(level):控制收集数据的类型
门限(threshold):设置收集的数据的阈值.
1、级别(level)
Statspack共有三种快照级别,默认值是5
a.level 0: 一般性能统计.包括等待事件、系统事件、系统统计、回滚段统计、行缓存、SGA、会话、锁、缓冲池统计等等.
b.level 5: 增加SQL语句.除了包括level0的所有内容,还包括SQL语句的收集,收集结果记录在stats$sql_summary中.
c.level 10: 增加子锁存统计.包括level5的所有内容.并且还会将附加的子锁存存入stats$lathc_children中.在使用这个级别时需要慎重,建议在Oracle support的指导下进行.
可以通过statspack包修改缺省的级别设置
SQL> execute statspack.snap(i_snap_level=>0,i_modify_parameter=>'true');
如果你只是想本次改变收集级别,可以忽略i_modify_parameter参数.
SQL> execute statspack.snap(i_snap_level=>0);
2、快照门限
快照门限只应用于stats$sql_summary表中获取的SQL语句.
因为每一个快照都会收集很多数据,每一行都代表获取快照时数据库中的一个SQL语句,所以stats$sql_summary很快就会成为Statspack中最大的表.
门限存储在stats$statspack_parameter表中:
executions_th这是SQL语句执行的数量(默认值是100)
disk_reads_tn这是SQL语句执行的磁盘读入数量(默认值是1000)
parse_calls_th这是SQL语句执行的解析调用的数量(默认值是1000)
buffer_gets_th这是SQL语句执行的缓冲区获取的数量(默认值是10000)
任何一个门限值超过以上参数就会产生一条记录.
通过调用statspack.modify_statspack_parameter函数改变门限的默认值:

复制代码 代码如下:

SQL>execute statspack.modify_statspack_parameter(i_buffer_gets_th=>100000,i_disk_reads_th=>100000);

时间: 2024-09-17 04:27:05

分析Oracle生成Statpack步骤_oracle的相关文章

oracle停止数据库后linux完全卸载oracle的详细步骤_oracle

1.使用SQL*PLUS停止数据库 复制代码 代码如下: $ sqlplus /nolog SQL> connect / as sysdba SQL> shutdown [immediate] SQL> exit 2.停止Listener 复制代码 代码如下: $ lsnrctl stop 3.停止HTTP服务 复制代码 代码如下: # service httpd stop 4.用su或者重新登录到root(如想重新安装可以保留oracle用户,省得输入环境变量了) 5.将安装目录删除

Oracle自动备份及自动备份步骤_oracle

数据是应用的核心部分,程序坏了换台机器重新发布就可以,但数据一旦丢失,造成的损失将不可挽回,程序发布到生产后,数据的备份便显得尤为重要,由于不一定所有的服务均有资金完成高级的备份如RAC和DG,在我们只有一台数据库服务器的,暂时采取最简单的备份策略,export出dmp进行保存. 一.备份脚本 1.初始化变量,记录开始日志 #变量 sysname=填写自己的系统名称 syspath=/home/oracle/databak/$sysname v_date=$(date '+%Y%m%d%H%M%

ORACLE实现自定义序列号生成的方法_oracle

实际工作中,难免会遇到序列号生成问题,下面就是一个简单的序列号生成函数 (1)创建自定义序列号配置表如下: --自定义序列 create table S_AUTOCODE ( pk1 VARCHAR2(32) primary key, atype VARCHAR2(20) not null, owner VARCHAR2(10) not null, initcycle CHAR(1) not null, cur_sernum VARCHAR2(50) not null, zero_flg VAR

使用 Tkprof 分析 ORACLE 跟踪文件

Tkprof是一个用于分析Oracle跟踪文件并且产生一个更加清晰合理的输出结果的可执行工具.如果一个系统的执行效率比较低,一个比较好的方法是通过跟踪用户的会话并且使用Tkprof工具使用排序功能格式化输出,从而找出有问题的SQL语句. 一. TKPROF 命令语法:TKPROF  filename1, filename2 [ SORT  = [ opion][,option] ]  [  PRINT = integer ]  [ AGGREGATE  = [ YES | NO ] ]  [ I

使用ass.awk脚本分析systemstate生成的trace文件

在以前,很多客户和朋友曾经各种寻找ass109.awk脚本,用意分析systemstate生成的trace文件. 因为最初ass109.awk文件是Oracle内部一个老外大牛个人写脚本,还不算是Oracle公司产品化的东西,以为不能提供支持. 在LTOM431版本中,已经自带了ass109.awk脚本: sftp> lpwd E:/CRT-temp/tools/ltom431/ltom/tom_base/tom/src sftp> pwd /rootwork sftp> lls ass

《精通CFD动网格工程仿真与案例实战》——1.2 CFD分析方法与基本步骤

1.2 CFD分析方法与基本步骤 精通CFD动网格工程仿真与案例实战计算流体力学(Computational fluid dynamics -CFD)是一门通过数值方法求解流体控制方程组来预测流体的流动.传热.传质.化学反应等相关物理现象的学科.CFD计算结果对产品的概念设计.产品详细设计.产品问题查找与分析以及重新设计产品都有很大的帮助.最近几年,CFD分析在工业设计中发挥着越来越大的作用.CFD分析与实验都是解决问题的工具,两者相互补充.CFD分析的优点在于能得到流场中任意位置的任意物理量的

oracle data pump步骤

oracle oracle data pump步骤          2004/08/27这两天在试ora10g的data pump,将执行的步骤贴出来大家看看由于我的试验的数据库数据不是很多,所以data pump的速度上的优势并不明显,但是备份的文件大小可比exp出来的大不少. -----LisaLan 20040825 oracle data pump----创建目录$ mkdir /home/oracle/backup/data/expdp ----用system登陆为用户赋权限SQL>

c语言编译,想自己动手写c语言的编译程序(只完成 分析到生成中间代码部分)

问题描述 c语言编译,想自己动手写c语言的编译程序(只完成 分析到生成中间代码部分) 我们编译原理快学完了,想自己动手写c语言的编译程序(只完成 分析到生成中间代码部分) 我应该如何入手写这个东西,查阅什么资料,反正有什么建议或者能帮助我完成的,给我说说就好 解决方案 windows下安装VC,或者VS 使用教程网上多的是 解决方案二: http://book.douban.com/subject/26339438/http://www.cnblogs.com/Ninputer/archive/

需要开发一个可以分析数据生成图表的软件,请问应该用什么平台和语言开发好?

问题描述 需要开发一个可以分析数据生成图表的软件,请问应该用什么平台和语言开发好? 请问应该用什么平台和语言开发好?需要看看哪些东西学习一下.希望大神指点一下,菜鸟一只,想好好学学.就是spss那种的软件,当然比那个要简单很多了. 解决方案 可以用C C++ Java Delphi PowerBuilder VB C# 等语言开发. 解决方案二: 用linq sql分析数据,用mschart devexpress做图,用gridview做表. 解决方案三: C#开发用devexpress控件可以