用脚本和查询主动监视Oracle 9i性能

发表于:2008-10-27来源:作者:点击数: 标签:脚本oracleOracleORACLE性能
超过250个配置参数、上千个测量值要监视,这些都让 Oracle 的管理员监视其Oracle数据库整体 健康 的工作不是一项轻松的任务。Oracle提供了各种工具来监视 性能 ,但是这还是太多。要想有效地监视你Oracle数据库的健康,你就需要熟悉下面的脚本和查询:数据缓
超过250个配置参数、上千个测量值要监视,这些都让Oracle的管理员监视其Oracle数据库整体健康的工作不是一项轻松的任务。Oracle提供了各种工具来监视性能,但是这还是太多。要想有效地监视你Oracle数据库的健康,你就需要熟悉下面的脚本和查询:数据缓冲区命中率警报会报告数据缓冲区命中率低于预设阙值的次数。

  重做日志空间请求警报会在请求的数量大于0的时候提示出错。如果这种情况发生了,你可能需要增加log_buffer参数的值。

  共享池争用警报会提示你出现了共享池争用以及和锁定相关的问题。系统等待警报查询会询问Oracle的事件结构,以确定由于争用而出现过多等待的事件。库缓冲失败警报查询会查找库缓冲失败率。如果库缓冲失败率超过.02,你就需要增加shared_pool_size的值来补救。

  数据库编写器争用警报会查找不良查询总长的值、写入请求和数据库编写器工具(DBWR)的检查点。当写入请求的长度大于3或者大于DBWR 检查点的等待次数,你就需要调整数据库编写器的进程。

  数据字典失败率警报会提示你对数据字典元数据请求过高的次数。有时你可以通过增加shared_pool_sizeinit.ora这个参数的值来缓解这个问题。数据字典对象警告报告会揭示对Oracle数据字典的内部争用和字典元数据请求过高的次数。

  仔细研究一下

  现在让我们更加仔细地看一下这些脚本是如何工作的。STATSPACK这个工具按时间来处理Oracle的调配信息,并把这些信息记录在多个表格里。这些表格的名称会反映出Oracle内部查看表v$,这些名字诸如stats$sysstat和stats$sql_summary。知道了这一点,你就可以编写一些简单的Oracle查询,它们会显示性能的走势信息。然后你就可以处理这些性能信息,并把它们送到预示模型,例如线性回归,这会准确地告诉你更改你系统全局区域(System Global Area,SGA)内部结构的正确次数。

  Listing A包含有使用这些性能信息的例子。这个脚本会生成一个在一段时间内库缓冲区失败率的连续总计,还会引用stats$librarycache表格。

  这个脚本的输出会指出,你需要在这一期间内通过cron job或者dbms_job为shared_pool_size计划安排额外的内存,见图A。

  图A

  

原文转自:http://www.ltesting.net