Oracle Database 性能调优工具 之 Oracle Statspack - 报告收集


关于Oracle Statspack

statspack Statistics Package (STATSPACK)  Oracle 9i之前使用的数据库信息收集工具


Oracle Statspack 工具使用

Oracle Statspack 相关脚本

脚本位置$ORACLE_HOME/rdbms/admin/

spcreate.sqlstatspack 工具安装脚本

spdrop.sqlstatspack 工具卸载脚本

spdoc.txtstatspack README文档

spreport.sqlstatspack 报表创建脚本

sprepins.sqlstatspack 报表生成脚本,被spreport.sql调用,分析该脚本可帮助理解statspack中各个数据的意义

spauto.sql利用dbms_job提交一个作业,自动的进行STATPACK的信息收集统计

sppurge.sql清除一段范围内的统计信息,需要提供开始快照与结束快照号

sptrunc.sql清除(truncate)所有统计信息

 

Oracle Statspack 安装卸载

使用sysdba角色用户连接数据库;

执行$ORACLE_HOME/rdbms/admin/spcreate.sql;

指定PERFSTAT用户密码;

指定PERFSTAT用户默认永久表空间,默认为SYSAUX;

指定PERFSTAT用户默认临时表空间,默认为TEMP;

等待脚本执行完毕;

检查spcpkg.lis文件有无报错;

若创建失败可以执行spdrop.sql脚本,然后重新执行spcreate.sql

 

生成标准Oracle Statspack 统计报表

使用PERFSTAT用户连接数据库;

执行 execute statspack.snap 两次;
exec statspack.snap; -- 用于进行信息收集统计,每次运行都将产生一个快照号,必须要有两个以上的快照,才能生成报表

执行@?/rdbms/admin/spreport.sql;

指定开始快照id与结束快照id;

指定生成报告的文件名,默认会根据前面输入的 snap_id 生成文件 名;

等待报告输出;

打开&查看&分析报表;

 

自动进行Oracle Statspack 快照生成

使用PERFSTAT用户连接数据库;

执行@?/rdbms/admin/spauto.sql

该脚本执行后将利用dbms_job提交一个作业:从当前时间点起,每个整点自动执行一次 execute statspack.snap

如需停止该任务可如下操作:

执行如下脚本查看当前job序号及下次执行时间:
select job, next_date, next_sec  from user_jobs where job = :jobno;

执行如下脚本停止自动任务
exec dbms_job.broken(26,false);

执行如下脚本删除自动任务
exec dbms_job.remove(26);

 

清理指定范围的Oracle Statspack 快照

使用PERFSTAT用户连接数据库;

执行@?/rdbms/admin/sppurge.sql

指定需要清理的快照范围的低快照id;

指定需要清理的快照范围的高快照id;

等待清理完成;

 

清理所有Oracle Statspack 统计表

使用PERFSTAT用户连接数据库;

执行@?/rdbms/admin/sptrunc.sql

回车确认清理所有Statspack表 & 输入exit退出操作;

等待清理完成;

 

查选快照信息:

perfstat@SUN> select SNAP_ID, SNAP_TIME from STATS$SNAPSHOT;

   SNAP_ID SNAP_TIME

---------- -------------------

         1 2012-11-20 14:20:19

         2 2012-11-20 14:24:26


问号代表 $ORACLE_HOME

你可能感兴趣的:(database,orancle,新能)