教程中国
PHOTOSHOP CS9.0中文版 MAYA 8.5 FOR WINDOWS Corel Painter v9.0 Flash MX2004 中文版 Illustrator cs2 中文版
VC++6.0含sp6 中英文版 VB6.0 +sp6 简体中文版 Borland Delphi 7汉化版 MSDN for vb6.0中文版 Visual Studio 2005简体
教程中国下属 文件存储共享专家BIBIDU.COM 提供大型软件,教材,源码,电影,音乐,图书等下载 更多精品请点此进入
  您目前所在位置: 教程中国 >> Oracle >> 入门基础 >> ORACLE性能诊断―学习statspack笔记(一) RSS订阅
ORACLE性能诊断―学习statspack笔记(一)
教程(视频,书籍)下载:  ASP.NET AutoCAD 数据库 C# ASP java photoshop 网页设计 delphi 3dmax Flash C++ VB 张孝祥 实例   更多请进入BIBIDU搜索
IT搜索引擎   

  说明:Oracle8.1.6开始引进statspack,statspack是诊断oracle性能的强有力的工具
  
  安装前准备
  
  A.首先是系统参数的确认:
  
  job_query_processes:为了建立自动任务,执行数据收集,该参数要大于0
  
  time_statistics:为了收集操作系统计时信息等,需要将其设置为TRUE
  
  B.建议最好是单独的为perfstat用户(即安装statspack要建的用户)单独建立数据表空间和临时表空间,数据表空间至少要有100M的空闲空间,否则创建statspack对象会失败,如果打算长期使用statspack,可以考虑建稍大些的数据表空间。
  
  安装
  
  A.安装脚本
  
  安装的脚本所在目录是$ORACLE_HOME/rdbms/admin,在oracle8.1.6版本安装脚本是statscre.sql,之后8.1.7版本开始就是spcreate.sql,安装所需用户在9i之前的需要internal或者拥有sysdba权限的用户,9i需要的用户是sys(9i已经不存在internal用户了)
  
  执行安装脚本如下:
  
  SQL> @$ORACLE_HOME/rdbms/admin/spcreate
  
  B.在安装过程中,需要填写perfstat用户的密码,并且选择perfstat用户的数据表空间和临时表空间,安装完成之后,察看相应的.lis文件检查安装是否正确无误,有问题可以通过spdrop.sql完成statspack的卸载,重新运行spcreate.sql完成statspack的安装。
  
  测试
  
  最简单的statspack报告生成,运行两次statspack.snap,然后运行spreport.sql生成一个基于两个时间点的报告。如果是8.1.7.3之前版本的Oracle,需要修改spcpkg.sql,要将substr修改为substrb,如下位置:
  
  select l_snap_id
  
  , p_dbid
  
  , p_instance_number
  
  , substr(sql_text,1,31) à substrb(sql_text,1,31)
  
  建立简单的statspack报告过程如下:
  
  SQL> execute statspack.snap
  
  PL/SQL procedure successfully completed.
  
  SQL> execute statspack.snap
  
  PL/SQL procedure successfully completed.
  
  SQL> @$ORACLE_HOME/rdbms/admin/spreport
  
  Spreport的执行过程中会列出需要选择的快照,你需要填写该报告描述的开始和结束的快照序号,并填写报告的文件名,当然可以不填,使用默认的报告文件名,默认的会生成在目录$ORACLE_HOME/rdbms/admin中
  
  这样就可以验证statspack已经正确的安装完成了
  
  自动收集statspack快照
  
  正常在真正的环境下,我们是需要连续的采样一段时间,这样生成的statspack才能更好的反映系统的现状,我们是可以通过spauto.sql来自动收集数据的。
  
  主要可能会设计到修改如下部分的内容
  
  variable jobno number;
  
  variable instno number;
  
  begin
  
  select instance_number into :instno from v$instance;
  
  dbms_job.submit(:jobno, 'statspack.snap;', trunc(sysdate+1/24,'HH'), 'trunc(SYSDATE+1/24,''HH'')', TRUE, :instno);
  
  commit;
  
  end;
  
  /
  主要是修改1/24这个值,目前是一个小时自动收集一次数据,如果要改动为半个小时收集一次数据就修改为1/48,同理,进行或大或小的修改。
  
  执行后,可以在spauto.lis文件中看到当前自动收集数据的job号等信息。当想要生成statspack报告的时候,只要选择任何两个不跨越停机时间的快照序号就可以了。注意,statspack是不能跨越停机的。

来源:upschool.com.cn
作者:
关键字:
发表日期:2007-1-6 1:19:26

网页显示有限 阅读全文请下载本文完整版WORD文档

上一篇:利用oradim重建Oracle服务   下一篇:DataGuard - ORA-00261错误


2008-12-3 4:42:25
本文的相类似文章
在学习中进步 在进步中成长 教程中国相随您的成长之路
华腾联合科技股份有限公司版权所有
广告联系:Rosibo@163.com