Statspack是一款功能强大的,免费的,Oracle自带的性能分析工具。需要用具有sysdba权限的用户登陆进行安装。
通过Statspack我们可以很容易的确定Oracle数据库的瓶颈所在,记录数据库性能状态,也可以使远程技术支持人员迅速了解你的数据库运行状况。
如果想要开启自动收集数据库的参数信息需要修改两个参数:
实验环境:
OS:RedHat 5.5
DB:oracle11g
参数设置:
job_queue_processes和timed_statistics
查询job_queue_processes是否大于0:
show parameter job_queue_processes;
如果=0,我们需要修改
alter system set job_queue_processes=10;
查看timed_statistics是否为true
修改:
alter system set timed_statistics=true;
安装statpack:
需要拥有sysdba权限的用户操作,首先创建用户表空间,这需要看我们收集的信息量的大小来设置,一般设置成500M既可
create tablespace perfstat '/home/oracle/perfstat.dbf' size 500m extent management local;
@$ORACLE_HOME/rdbms/admin/spcreate.sql
为用户perfstat设置密码
输入表空间和临时表空间
SPCPKG complete. Please check spcpkg.lis for any errors.
--需要出现上述语句才算成功,否则请查看.lis文件并执行,进行重建
如果在创建的时候出错,我们可以删除重新建立:
@$ORACLE_HOME/rdbms/admin/spdrop.sql
在重新建立即可。
生成调查报告,切换到perfstat用户:
收集系统信息:execute statspack.snap;
查看收集统计信息的情况:
SQL> select snap_id,snap_time,startup_time from stats$snapshot;
SNAP_ID SNAP_TIME STARTUP_T
---------- --------- ---------
1 14-AUG-11 14-AUG-11
2 14-AUG-11 14-AUG-11
5 14-AUG-11 14-AUG-11
3 14-AUG-11 14-AUG-11
4 14-AUG-11 14-AUG-11
我们也可以使他自动统计系统的情况:
@$ORACLE_HOME/rdbms/admin/spauto.sql