当前位置导航:炫浪网>>网络学院>>编程开发>>Oracle教程

9istatspack使用手册


  内容包括
  statspack安装
  statspack报告的详细说明
  
  Statspack 使用说明
  
  一.statspack系统安装
  二.Statspack介绍
  三.Statspack使用
  四.Statspack报告说明
  
  一.statspack系统安装
  statspack的安装程序在@?/rdbms/admin/下:
  spcreate.sql 安装
  spdrop.sql  卸载
  spauto.sql: 生成自动采集数据任务
  spreport.sql  生成分析报告
  spuexp.sql  参数文件
  sppurge.sql 清除不在需要的数据
  sptrunc.sql  清除所有的数据
  sprepsql.sql:用于根据给定的SQL HASH值生成SQL报告
  
  为了能顺利地运行Statspack 工具,则需要设置以下参数:
  job_queue_processes>0 (如果不采用自动采集数据则可不设)
  timed_statistics=true (如果不采用自动采集数据则可不设)
  
  安装
  1.建一个单独的表空间用于Statspack 或建在tools表空间上(>100MB)
  $sqlplus “/ as sysdba”
  SQL>create tablespace perfstat
  SQL>datafile ‘/oracle/oradata/perfstat.dbf’
  SQL>size 500M extent management local;
  2.建用户perfstat及表
  SQL>@?/rdbms/admin/spcreate.sql
  要求输入表空间及临时表空间.
  建完后会在本目录下生成:
  spauto.lis
  spcpkg.lis
  spctab.lis
  spcusr.lis
  spdtab.lis
  spdusr.lis
  grep –I “ora-“ *.lis 查看是否有错。
  
  3.删除statspack表
  SQL>@?/rdbms/admin/spdrop.sql
  4.测试statspack
  采样数据
  SQL> exec statspack.snap
  后隔几分钟后再次采样数据
  SQL> exec statspack.snap
  生成报表
  SQL>@?/rdbms/admin/spreport.sql
  
  二.Statspack介绍
  Oracle9i调优顺序一般采用自顶向下的顺序:
  
  Statspack源于utlbstat和utlestat工具,在执行快照时,statspack会从 SGA内部的RAW内存结构中来采样数据,并将结果存入相应表中。
  RAW v$内存结构表 à statspack stats$内存结构表
  V$sysstat stats$sysstat
  V$sgastat stats$sgastat
  V$parameter stats$parameter
  V$librarycache stats$librarycache
  1. 外部环境
  内存
  vmstat
  bash-2.03$ vmstat 2 5
  procs memory page disk faults cpu
  r b w swap free re mf pi po fr de sr s0 s1 s1 -- in sy cs us sy id
  0 0 0 9868032 2120968 14 3 159 8 8 0 0 0 0 24 0 306 455 1204 1 2 97
  0 1 0 9813224 2154792 29 6 0 20 20 0 0 0 0 39 0 388 9587 2353 3 3 94
  0 0 0 9813224 2154296 39 0 0 40 40 0 0 0 1 46 0 393 9529 2363 5 3 92
  0 1 0 9813224 2153736 36 3 0 20 20 0 0 0 0 48 0 397 9387 2364 3 3 93
  0 0 0 9813224 2153232 37 3 0 20 20 0 0 0 0 48 0 397 9483 2360 4 3 93
  其中:
  CPU瓶颈:
  proc下:
  r:正在运行的任务队列,当r>CPU数量时,则会出现CPU等待瓶颈
  查看CPU个数:
  psrinfo –v|grep –I “status of processor” | wc -l
  RAM瓶颈:
  Page下:
  Pi:页导入次数:如果RAW短缺时,系统会产生pi操作
  查看内存容量
  prtconf|grep –i “mem”
  
  2. 系统IO
  sar –d
  bash-2.03$ sar -d 2 2
  
  SunOS mydb001 5.8 Generic_108528-13 sun4us 01/09/04
  
  08:35:11 device %busy avque r+w/s blks/s avwait avserv
  
  08:35:13 nfs1 0 0.0 0 0 0.0 0.0
  sd0 0 0.0 0 0 0.0 0.0
  sd1 0 0.0 0 40 0.0 6.3
  sd1,a 0 0.0 0 40 0.0 6.3
  sd1,c 0 0.0 0 0 0.0 0.0
  sd1,d 0 0.0 0 0 0.0 0.0
  sd1,e 0 0.0 0 0 0.0 0.0
  sd1,f 0 0.0 0 0 0.0 0.0
  sd16 28 0.5 51 817 0.0 10.2
  sd16,a 28 0.5 51 817 0.0 10.2
  sd16,c 0 0.0 0 0 0.0 0.0
  ohci0,bu 0 0.0 0 0 0.0 0.0
  ohci0,ct 0 0.0 0 0 0.0 0.0
  ohci0,in 0 0.0 0 0 0.0 0.0
  ohci0,is 0 0.0 0 0 0.0 0.0
  ohci0,to 0 0.0 0 0 0.0 0.0
  
  08:35:15 nfs1 0 0.0 0 0 0.0 0.0
  sd0 0 0.0 0 0 0.0 0.0
  sd1 0 0.0 1 79 0.0 4.9
  sd1,a 0 0.0 1 79 0.0 4.9
  sd1,c 0 0.0 0 0 0.0 0.0
  sd1,d 0 0.0 0 0 0.0 0.0
  sd1,e 0 0.0 0 0 0.0 0.0
  sd1,f 0 0.0 0 0 0.0 0.0
  sd16 27 0.5 47 745 0.0 10.4
  sd16,a 27 0.5 47 745 0.0 10.4
  sd16,c 0 0.0 0 0 0.0 0.0
  ohci0,bu 0 0.0 0 0 0.0 0.0
  ohci0,ct 0 0.0 0 0 0.0 0.0
  ohci0,in 0 0.0 0 0 0.0 0.0
  ohci0,is 0 0.0 0 0 0.0 0.0
  ohci0,to 0 0.0 0 0 0.0 0.0
  
  Average nfs1 0 0.0 0 0 0.0 0.0
  sd0 0 0.0 0 0 0.0 0.0
  sd1 0 0.0 1 59 0.0 5.4
  sd1,a 0 0.0 1 59 0.0 5.4
  sd1,c 0 0.0 0 0 0.0 0.0
  sd1,d 0 0.0 0 0 0.0 0.0
  sd1,e 0 0.0 0 0 0.0 0.0
  sd1,f 0 0.0 0 0 0.0 0.0
  sd16 27 0.5 49 781 0.0 10.3
  sd16,a 27 0.5 49 781 0.0 10.3
  sd16,c 0 0.0 0 0 0.0 0.0
  ohci0,bu 0 0.0 0 0 0.0 0.0
  ohci0,ct 0 0.0 0 0 0.0 0.0
  ohci0,in 0 0.0 0 0 0.0 0.0
  ohci0,is 0 0.0 0 0 0.0 0.0
  ohci0,to 0 0.0 0 0 0.0 0.0
  说明 :
  一般%busy高些,%avque低些,文件系统的效率会较高,目前系统文件系统效率已达到
  
  三.Statspack使用
  3. 手工采样数据
  sqlplus perfstat/perfstat
  
  SQL> exec statspack.snap
  后隔几分钟后再次采样数据
  SQL> exec statspack.snap
  生成报表
  SQL>@?/rdbms/admin/spreport.sql
  
  4. 系统自动采样数据
  定义定时任务
  修改spauto.sql内容,定义采样数据的时间间隔
  dbms_job.submit(:jobno,’statspack.snap;’,trunc(sysdate+1/24,”HH”),’trunc(sysdate+1/24,”HH”),TRUE,:instno);
  一天24小时,1440分钟,则:
  每小时一次: 1/24 (建议使用)
  每30分钟一次:  1/48
  每10分钟一次 1/144
  每5分钟一次 1/288
  后执行
  SQL>@?/rdbms/admin/spauto.sql
  
  生成分析报告
  SQL>@?/rdbms/admin/spreport.sql
  
  停止定时任务
  sqlplus perfstat/perfstat
  SQL>select job,interval from user_jobs;
  SQL>exec dbms_job.remove(‘:job_no’);
  
  删除历史数据
  delete from stats$snapshot where snap_id  删除全部数据
  SQL>@?/rdbms/admin/sptrunc.sql
  
  四.Statspack报告说明
  Statspack报告分为几个部分:
  5. 数据库总体信息
  6. 每秒每事务的资源消耗情况
  7. 实例的各组件的命中率
  8. 共享池总体情况
  9. 前5个等待事件
  10. DB所有等待事件
  11. 后台进程等待事件
  12. 根据BufferGets进行排序的SQL
  13. 按物理IO进行排序的SQL
  14. 按执行次数排序的SQL
  15. 按分析次数排序的SQL
  16. 实例的当前活动的统计数据
  17. tablespace IO统计数据
  18. 表空间文件 IO统计数据
  19. buffer池统计数据
  20. 实例恢复统计数据
  21. Buffer池的参考数据
  22. Buffer等待统计数据
  23. PGA总体统计数据 1
  24. PGA总体统计数据2
  25. PGA内存参考数据
  26. 回滚段统计
  27. 回滚段存储统计
  28. undo段总体情况
  29. undo段统计
  30. 锁存器的当前情况
  31. 锁存器睡眠等待统计
  32. 锁存器失败情况
  33. 数据字典cache性能统计
  34. 库cache 性能统计
  35. 共享池性能统计
  36. SGA区总体情况
  37. SGA各组件的活动情况
  38. 系统配置参数
  
  STATSPACK report for
  ------------------------------------1.DB的总体信息----------------------------------------
  DB Name DB Id Instance Inst Num Release Cluster Host
  ------------ ----------- ------------ -------- ----------- ------- ------------
  MYDB 2125240762 mydb 1 9.2.0.1.0 NO VCS-SERVER1
  
  Snap Id Snap Time Sessions Curs/Sess Comment
  ------- ------------------ ------- --------- -------------------
  Begin Snap: 1 09-Aug-04 19:28:12 32 2.7
  End Snap: 2 09-Aug-04 19:33:06 32 3.0
  Elapsed: 4.90 (mins) (本次报告的间隔时间)
  
  Cache Sizes (end)
  ~~~~~~~~~~~~~~~~~
  Buffer Cache: 1,536M Std Block Size: 8K
  Shared Pool Size: 112M Log Buffer: 16,000K
  
  --------------------------2.每秒每事务的资源消耗情况---------------------
  Load Profile
  ~~~~~~~~~~~~ Per Second (每秒) Per Transaction(每事务)
  --------------- ---------------
  Redo size: 38,498.93 6,733.30 –每秒/每事务产生的redo
相关内容
赞助商链接