statspack安装:
statspack的安装程序在@?/rdbms/admin/下:
spcreate.sql 安装
spdrop.sql 卸载
spauto.sql: 生成自动采集数据任务
spreport.sql 生成分析报告
spuexp.sql 参数文件
sppurge.sql 清除不在需要的数据
sptrunc.sql 清除所有的数据
sprepsql.sql:用于根据给定的SQL HASH值生成SQL报告
为了能顺利地运行Statspack 工具,则需要设置以下参数:
job_queue_processes>0 (如果不采用自动采集数据则可不设)
timed_statistics=true (如果不采用自动采集数据则可不设)
安装
1.建一个单独的表空间用于Statspack 或建在tools表空间上(>100MB)
$sqlplus “/ as sysdba”
SQL>create tablespace perfstat
SQL>datafile ‘/oracle/oradata/perfstat.dbf’
SQL>size 500M extent management local;
2.运行SQL>@?/rdbms/admin/spcreate.sql----------建用户perfstat及表
要求输入表空间及临时表空间.
建完后会在本目录下生成:
spauto.lis spcpkg.lis spctab.lis spcusr.lis spdtab.lis spdusr.lis
3.测试statspack
采样数据------------------手工采样
SQL> exec statspack.snap
后隔几分钟后再次采样数据
SQL> exec statspack.snap
生成报表
SQL>@?/rdbms/admin/spreport.sql
4. 系统自动采样数据
定义定时任务
修改spauto.sql内容,定义采样数据的时间间隔
dbms_job.submit(:jobno,’statspack.snap;’,trunc(sysdate+1/24,”HH”),’trunc(sysdate+1/24,”HH”),TRUE,:instno);
一天24小时,1440分钟,则:
每小时一次: 1/24 (建议使用)
每30分钟一次: 1/48
每10分钟一次 1/144
每5分钟一次 1/288
后执行
SQL>@?/rdbms/admin/spauto.sql
生成分析报告
SQL>@?/rdbms/admin/spreport.sql
停止定时任务-------当完成了一个采样报告后,应及时停止定时任务。遗漏一个无人知晓的job是很危险的,因其不停采样产生的数据量是很大的。
sqlplus perfstat/perfstat
SQL>select job,interval from user_jobs;
SQL>exec dbms_job.remove(‘:job_no’);
删除历史数据
select max(snap_id) from stats$snapshot;
delete from stats$snapshot where snap_id<=???;
删除全部数据
SQL>@?/rdbms/admin/sptrunc.sql
删除表
SQL>@?/rdbms/admin/spdrop.sql
报告生成之后,如何从报告中找出数据库性能瓶颈所在,是关键。经验越多水平越高的dba,能从中找出的问题也就越多。oracle 10g之后,可用awr代替statspack,此为后话。
以上只是基本用法,其更详细的用法参考其他文献。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22295535/viewspace-710157/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/22295535/viewspace-710157/