尽管Oracle 10g使用AWR性能报告基本上可以取代之前的statspack,但是statspack可以随意的选定一段时间作为性能采集的周期。
1.数据库参数修改:
SQL> show parameter job_queue_processes
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
job_queue_processes integer 10
SQL> show parameter timed_statistics
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
timed_statistics boolean TRUE
2.安装statspack:
SQL> conn /as sysdba
已连接。
SQL> create tablespace perfstat datafile '/u01/app/oracle/oradata/orcl/perfstat01.dba' size 512m;
表空间已创建。
执行脚本:SQL> @?/rdbms/admin/spcreate.sql
卸载脚本:SQL> @?/rdbms/admin/spdrop.sql
安装过程中,会自动创建一个perfstat用户,会提示输入密码(perfstat)、表空间(perfstat)、临时表空间(temp)。
3.测试statspack:
SQL> show user
USER 为 "PERFSTAT"
执行第一次采集:SQL> execute statspack.snap;
执行第二次采集:SQL> execute statspack.snap;
生成报告:SQL> @?/rdbms/admin/spreport.sql
两次采集间隔时间一般建议时间间隔15~30分钟,在两次采集之间切忌不要重启数据库。
生成报告的时候,会看见所有的采集,输入1和2,然后会提示输入报告名字,直接回撤采用默认名字。
最后用“!”切换出sqlplus,在当前目录ls查看就可以看见一个报告:sp_1_2.lst。前面安装、卸载的日志也是在同一目录的。
4.重要脚本
@?/rdbms/admin/spauto.sql --自动任务收集采样数据
@?/rdbms/admin/sppurge.sql --删除收集的采样数据
@?/rdbms/admin/sptrunc.sql --截断收集的采样数据
@?/rdbms/admin/spuexp.par --导出收集的采样数据
注意:statspack性能报告的内容和AWR基本相同!