spotlight on oracle 监控分析

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spotlight on oracle 监控分析相关的知识,希望对你有一定的参考价值。

 

 

 

Spotlight是一个强有力的Oracle数据库实时性能诊断工具,提供了一个直观的、可视化的数据库活动展现。Spotlight可视化展现性能瓶颈,一旦某个指标超出可接受的阀值的话。而且,通过下钻功能,DBA可以简单、快速地追查性能瓶颈的底层原因。

另外:

Spotlight是一个两层结构的产品。

Spotlight不需要在服务器端安装代理,只需要创建一些管理对象。

本次软件测试版本为:Spotlight on Oracle Version: 5.0.1.1022

spotlight on oracle 安装:http://blog.csdn.net/defonds/article/details/52936664

 

安装完成ok后,连接数据库与开销设定

A:如果没有quest用户,创建用户quest;创建一个表空间给quest用户使用。Quest用户的初始权限一般只需connect和resource。 其实使用dba用户也是可以的;

创建Spotlight的管理对象,点击菜单File|Oracle User Wizard

 

技术分享

 

技术分享

技术分享

技术分享

 

B: 创建spotlight连接。

技术分享

以下对选项做一介绍:
Connection String:输入连接描述符。
Oracle Username:给Spotlight使用的数据库用户quest。
Oracle Password:quest用户的口令。
Monitor ASM:是否监控ASM。如果有ASM,需要输入ASM的连接符和口令。
Monitor OS:是否监控OS。分别输入主机名或IP、OS类型、OS用户名和口令。如果是Windows平台,OS用户名一般是Administrator;如果是Unix或Linux平台,
OS类型有三种:REXEC、SSH、SSH
using Public/Private Keys,分别输入相应的端口、Key、口令等。要想监控Unix OS信息,需要在主机上运行有相应的REXEC、SSH等服务。
Unix平台可能需要使用root用户。 Use StealthCollect:一般不用选中。这个选项是用来监控Quest的另一个产品Performance analysis的代理程序的。 Save password details:是否保存口令。

 

连接成功页面如下:

技术分享

 

 

//告警列表:

注意:以下的“进一步探测”中的内容只供参考。具体请参阅Spotlight的弹出窗口或Oracle性能优化文档。

告警的指标名称

指标说明

进一步探测

 

Active Session alarm

当活动会话的数据超出总会话数的一定百分比时发出告警。这种情况并不一定能够是个严重问题,但它是一个数据库瓶颈或负载较重的信号。

 

 
 

Archive Logs alarm

当用于存放归档日志的文件系统空间不足时发出告警(百分比)

登录主机,检查归档日志所在的文件系统空间。表明可能存在大量的增删改操作。

 
 

Average Redo Write Time alarm

当归档日志的写时间(ms)超过阀值时发出告警。不像别的Oracle I/OOracle会话必须等待重做日志写完成后才能继续。

检查重做日志缓冲的大小;检查应用中的事务量。

 
 

Buffer Busy Wait alarm

当一个会话由于不能访问被另一个会话正在使用的块时发出告警。两个最可能的原因是free lists不够或回滚段不够。

数据库中发生访问热点。通过下钻检查Buffer Busy Wait的类型、涉及的段名等。通过段名检查段的FreelistFreelist GroupPCT Free等配置。记录发生此事件的时间段。

 
 

Buffer Cache Hit Ratio alarm

Buffer Cache的命中率低于某个阀值时告警。(此阀值需自定义)

表扫描较多。通过TopSession中的磁盘读检查那个会话正在进行大量物理读,并记录其SQL。记录发生此事件的时间段。

 
 

Cache Buffer Chains Latch alarm

当对Cache Buffer Chains Latch的竞争超过某个阀值时告警。

存在热块。是否自己写代码上乘序列号而没有使用Sequence?是否使用了非选择性索引?记录发生此事件的时间段。

 
 

Cache Buffer LRU Chains Latch alarm

当对Cache Buffer LRU Chains Latch的竞争超过某个阀值时告警。

Buffer Cache吞吐量太大。例如,大的索引范围扫描,太多的表扫描等。DBWR来不及刷新脏块,造成前台进程花费大量事件持有栓来寻找一个free buffer。记录发生此事件的时间段。

 
 

CPU Busy alarm

当系统CPU的使用率超过某个阀值时发出告警。

记录发生此事件的时间段。

 
 

Datafile Read Time alarm

当一个数据文件的随机读的平均时间超过某个阀值时发出告警。

可能存在较严重的I/O等待。

 
 

Dispatcher Busy alarm

当所有或绝大多数的调度器繁忙时发出告警(百分比)

调度器设置不够。修改相应初始化参数。

 
 

Excessive RBS Acvitities alarm

当高频率的回滚段的扩展、收缩操作发生时发出告警。

回滚段设置不合理。在9i/10g中由Oracle自己管理,用户不需关心。

 

Free Buffer Waits alarm

当总等待中的Free Buffer等待时间超过某个阀值时发出告警。

数据库写操作不够快或太多。可以通过分布I/O到更多更快磁盘或增大缓冲来解决。

 

Job Processes Busy alarm

当所有或绝大多数的作业进程繁忙时发出告警(等待作业进程的作业个数)。

作业队列数不够。

 

Latch Free Wait alarm

Latch等待的时间在总时间中超过某个阀值时发出告警。

除非Latch等待占用整个等待时间的百分比很大,否则不用关心。具体应查看Oracle文档确定优化方式。

 

Library Cache Miss Ratio alarm

Library Cache的命中率低于某个阀值时发出告警。

增加共享池;使用绑定变量;少执行DDL等。

 

Lock Wait alarm

当会话花费在Lock等待上的时间百分比超过某个阀值时发出告警。

使用下钻功能,记录那些会话持有何种锁,那些会话申请何种锁,并且正在执行什么样的SQL。最好截图。

 

Log Buffer Space Wait alarm

当花费在等待Redo Log Buffer上的总时间超过某个阀值时发出告警。

增加Log Buffer参数。

 

Log Switch Time alarm

当花费在等待日志切换事件上的时间超过某个阀值时发出告警。

检查检查点的设置;检查归档的设置;检查归档是否及时。

 

Low Free Physical RAM alarm

当服务器的有效内存(百分比)过低时发出告警。

 

 

Parallel Quest Server alarm

当所有或绝大多数的并行服务器繁忙时发出告警(百分比)。

并行服务器进程不足。检查相关参数。

 

Parse Ratio alarm

当解析调用与执行调用的比率超过某个阀值时发出告警。

可能的原因包括:语句重用问题;cursor cache不够;每次执行之后就显式关闭了Cursor;频繁登陆退出;共享池太小。

 

SQL Cache Miss Rate alarm

被提交的SQL语句在共享池中没有匹配的百分比超过某个阀值时发出告警。

增加共享池;使用绑定变量;少执行DDL等。

 

Unarchived Logs alarm

当未归档的日志个数超过某个阀值时发出告警。

增加归档速度。

 

Write Complete Wait alarm

当写完成时间占总等待的百分比超过某个阀值时发出告警。

写速度跟不上。可能的原因是写进程不够或磁盘慢。

 

Average Redo Write Time alarm

当归档日志的写时间(ms)超过阀值时发出告警。不像别的Oracle I/OOracle会话必须等待重做日志写完成后才能继续。

检查重做日志缓冲的大小;检查应用中的事务量。

 
 

Buffer Busy Wait alarm

当一个会话由于不能访问被另一个会话正在使用的块时发出告警。两个最可能的原因是free lists不够或回滚段不够。

数据库中发生访问热点。通过下钻检查Buffer Busy Wait的类型、涉及的段名等。通过段名检查段的FreelistFreelist GroupPCT Free等配置。记录发生此事件的时间段。

 
 

Buffer Cache Hit Ratio alarm

Buffer Cache的命中率低于某个阀值时告警。(此阀值需自定义)

表扫描较多。通过TopSession中的磁盘读检查那个会话正在进行大量物理读,并记录其SQL。记录发生此事件的时间段。

 
 

Cache Buffer Chains Latch alarm

当对Cache Buffer Chains Latch的竞争超过某个阀值时告警。

存在热块。是否自己写代码上乘序列号而没有使用Sequence?是否使用了非选择性索引?记录发生此事件的时间段。

 
 

Cache Buffer LRU Chains Latch alarm

当对Cache Buffer LRU Chains Latch的竞争超过某个阀值时告警。

Buffer Cache吞吐量太大。例如,大的索引范围扫描,太多的表扫描等。DBWR来不及刷新脏块,造成前台进程花费大量事件持有栓来寻找一个free buffer。记录发生此事件的时间段。

 
 

CPU Busy alarm

当系统CPU的使用率超过某个阀值时发出告警。

记录发生此事件的时间段。

 
 

Datafile Read Time alarm

当一个数据文件的随机读的平均时间超过某个阀值时发出告警。

可能存在较严重的I/O等待。

 
 

Dispatcher Busy alarm

当所有或绝大多数的调度器繁忙时发出告警(百分比)

调度器设置不够。修改相应初始化参数。

 
 

Excessive RBS Acvitities alarm

当高频率的回滚段的扩展、收缩操作发生时发出告警。

回滚段设置不合理。在9i/10g中由Oracle自己管理,用户不需关心。

 

Free Buffer Waits alarm

当总等待中的Free Buffer等待时间超过某个阀值时发出告警。

数据库写操作不够快或太多。可以通过分布I/O到更多更快磁盘或增大缓冲来解决。

 

Job Processes Busy alarm

当所有或绝大多数的作业进程繁忙时发出告警(等待作业进程的作业个数)。

作业队列数不够。

 

 



以上是关于spotlight on oracle 监控分析的主要内容,如果未能解决你的问题,请参考以下文章

性能监控工具的配置及使用 - Spotlight On Oracle(oracle)

spotlight_on_windows 监控分析

spotlight_on_DB2 监控分析

Spotlight监控Oracle数据库的链接创建

MySQL性能监控工具-Spotlight on MySQL

详解 Spotlight on MySQL监控MySQL服务器