您的位置:首页 > 编程语言 > PHP开发

性能分析_statpack的配置与应用

2012-07-30 14:24 183 查看
oracle自带一款性能分析工具statpack,功能非常强大.通过statpack记录数据库状态,容易找出oracle瓶颈所在,提供实施数据库优化的依据.

1.确保以下两个参数值正确设置.

SYS>show parameter job_queue_processes; 确保参数值大于0,如果=0,则需要调整一下.

SYS>alter system set job_queue_processes=10;

SYS>show parameter timed_statistics; 参数值应为"true",否则要做修改.

SYS>alter system set parameter timed_statistics=true;

2.创建用户的表空间和临时表空间.

SYS>create tablespace perfstat1 datafile '/u01/app/oracle/perfstat1.dbf ' size 500m autoentend on extent management local ;

SYS>create temporary tmp1 tempfile '/u02/temp/tmp1.dbf ' size 100m extent management local;

3.为用户perfstat指定密码,表空间和临时表空间.

SYS>@$ORACLE_HOME/rdbms/admin/spcreate.sql; 其中"@$ORACLE_HOME"可以用"@?"来代替输入.

Specify PERFSTAT password : verygood

Specify PERFSTAT user's default tablespace: perfstat1

Specify PERFSTAT user's temporary tablespace: tmp1

如果在创建的时候出错,可以删掉用户perfstat,再重建.

SYS>@?/rdbms/admin/spdrop.sql;

如果想删掉用户perfstat,首先要关掉数据库,然后重启,挂载并确保数据库打开.

SYS>shutdown immediate;

SYS>startup mount;

SYS>alter database open;

SYS>drop user perfstat cascade; 添加"cascade"表示连用户的对象一并删掉.

4.生成数据库的快照.注意两张快照的生成有时间间隔.

SYS>execute statpack.snap;

查看快照收集统计信息的情况.

SYS>select snap_id,snap_time,startup_time from stats$snapshot;

5.当然,我们也可以设置statpack自动收集统计信息.

SYS>@?/rdbms/admin/spauto.sql; 通过修改脚本中的参数,来设置采集时间间隔.

1/24 HH 每小时一次.

1/48 HH 每半小时一次.

1/144 HH 每十分钟一次.

1/288 HH 每五分钟一次.

6.清除所统计的信息内容:

SYS>@$ORACLE_HOME/rdbms/admin/sptrunc.sql;

生成统计报告:

SYS>@$ORACLE_HOME/rdbms/admin/spreport.sql;

7. 如果想要移除自动采集功能,可以先查看job号,

SYS>select job,job_user,priv_user,last_date,next_date,interval from user_jobs;

如果查得job号为22,再执行如下:

SYS>execute dbms_jobs.remove('22');

本文出自 “data” 博客,请务必保留此出处http://amadou.blog.51cto.com/3487717/947832
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: