ORACLE配置STATSPACK步骤

上一篇 / 下一篇  2008-06-15 20:55:09 / 个人分类:Oracle

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)                            //修改本会话

 

 


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-12-05  
 123456
78910111213
14151617181920
21222324252627
28293031   

数据统计

  • 访问量: 2386
  • 日志数: 77
  • 建立时间: 2008-04-15
  • 更新时间: 2008-11-27

RSS订阅

Open Toolbar