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/O,Oracle会话必须等待重做日志写完成后才能继续。 |
检查重做日志缓冲的大小;检查应用中的事务量。 |
|
Buffer Busy Wait alarm |
当一个会话由于不能访问被另一个会话正在使用的块时发出告警。两个最可能的原因是free lists不够或回滚段不够。 |
数据库中发生访问热点。通过下钻检查Buffer Busy Wait的类型、涉及的段名等。通过段名检查段的Freelist、Freelist Group、PCT 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/O,Oracle会话必须等待重做日志写完成后才能继续。 |
检查重做日志缓冲的大小;检查应用中的事务量。 |
|
Buffer Busy Wait alarm |
当一个会话由于不能访问被另一个会话正在使用的块时发出告警。两个最可能的原因是free lists不够或回滚段不够。 |
数据库中发生访问热点。通过下钻检查Buffer Busy Wait的类型、涉及的段名等。通过段名检查段的Freelist、Freelist Group、PCT 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)