jackyrong

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

   oracle中,做性能统计的话,用statpack是个不错的选择,但不是图形界面,比较麻烦些,用法比较多,一般大概掌握其基本用法,到时
用到去查就可以了.

 

1 安装 
  首先以SYS身份建一个单独的表空间,要求比较大,最好1,2G
create tablespace perfstat datafile 'f:"oracle"oradata"jssweb"perfstat.dbf' size 2000m;

  接着运行oracle_home\rdbms\admin目录下的spcreate.sql
  输入密码perfstat

选好表空间为刚才建立的perfstat等,最后安装成功

 验证安装为: 

execute statspack.snap

 

2 基本使用
  一定要用perfstat/perfstat登陆,然后
 执行@spreport.sql,

 会问你输入snapshotid, 就是天数了,输入开始和结束天数的数字,

定义好报告文件(在最后一步),就可以查看生成的报表了.
   注意因为有采样时间,所以可以在spauto.sql中去改的,找到:
    dbms_job.submit(:job,'statspack.snap;',trunc(sysdate+1/24,'hh24'),'trunc(sysdate+1/24,''hh24'')');

 去修改.

  如果是有多个实例的话,要执行sprepins.sql去生成报告.

   查看当前的JOB
   select job,schema_user,next_date,interval,what from user_jobs

   查看snapshot列表
   select snap_id,snap_time,startup_time from stats$snapshot;

  查看某个SQL语句执行计划的话,首先要用spreport找出这些SQL语句,记下其hash值
                                                       CPU      Elapsd     Old
  Buffer Gets    Executions  Gets per Exec  %Total Time (s)  Time (s) Hash Value
--------------- ------------ -------------- ------ -------- --------- ----------
        250,175          259          965.9   63.5    36.93    386.17 2689373535

然后执行@spresql.sql,输入那个hash值即可看到相关的执行计划

 

  最后是ITPUB一个很好的教程statpack

 

posted on 2008-07-21 09:35  jackyrong的世界  阅读(611)  评论(0编辑  收藏  举报