1.SQL*PLUS中输入
SQL> connect sys/sys as sysdba;
SQL> alter system set job_queue_processes = 6; //10G中不用
System altered
SQL> alter system set timed_statistics = true;
System altered
建表空间
create tablespace perfstat
datafile 'd:\oracle\oradata\orcl\perfstat.dbf'
size 500M(至少要100M以上)
extent management local;
2.
SQL> @C:\oracle\ora92\rdbms\admin\spcreate.sql;
输入 perfstat_password 的值: perfstat
输入default_tablespace的值: perfstat
输入temporary_tablespace 的值: temp
3.手动执行STATSPACK收集统计信息
SQL> show user
USER为"PERFSTAT"
SQL> execute statspack.snap;(拍照至少两次)
SQL> execute statspack.snap;
4.生成STATSPACK调整报告
SQL> @C:\oracle\ora92\rdbms\admin\spreport.sql;
5.查看产生的report1文档
C:\oracle\ora92\bin\report1.txt
如果要自动收集,修改spauto.sql的参数
dbms_job.submit(:jobno,'statspack.snap;',trunc(sysdate+1/24,'HH'), 'trunc(SYSDATE+1/24,''HH'')', TRUE, :instno);
移除自动执行STATSPACK收集
SQL>select job,log_user,priv_user,to_char(last_date,'yyyy-mm-dd hh24:mi:ss'),to_char(next_date,'yyyy-mm-dd hh24:mi:ss'),interval from user_jobs; --先查看当前自动收集的jobs
SQL> execute dbms_job.remove('1'); --移除任务1
查拍照的信息:
select snap_id,to_char(snap_time,'yyyy-mm-dd hh24:mi:ss') from stats$snapshot;
删除统计资料(statspack相关的所有系统表):
SQL>select max(snap_id) from stats$snapshot;
SQL>delete from stats$snapshot where snap_id <=12;
删除统计表:
sptrunc.sql
导出快照数据:
exp userid=perfstat/perfstat parfile=spuexp.par
调整statspack的收集门限:
1.级别:
level 0
level 5 加sql
level 10 加子锁存统计
execute statspack.snap(i_snap_level=>0,i_modify_parameter=>'true') //修改默认
execute satatspack.snap(i_snap_level=>0) //修改本会话
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/658698/viewspace-348210/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/658698/viewspace-348210/