12.Oracle杂记——Oracle等待事件性能监控脚本

12.Oracle杂记——Oracle等待事件性能监控脚本

在第10篇中,列了一个执行脚本但是感觉还是太粗,缺少针对性。对此又进行了一些优化和雕琢。雕琢算不上,只是进行了揣摩。

原型脚本集成的命令太多太散,不能精确分析问题,所以进行了分治。

                  脚本名字从原先的select_dbinfo.exe改为dbwaiteventmon.exe

                  更加形象,当然其中和wait无关的监控后续也会重新进行整理。

                  考虑到数值动态变化,会话与系统统计数据的差异,各类相关信息区别和联系;蛤蟆初步规划如下,当然此处只是个规划,后续可能会改变。如有改变后续再加以说明,很多在可以图形化OEM点击得到,而且非常直观,此处实现用于学习目的和给文本爱好者的朋友。

                  等待事件监控:dbwaiteventmon.exe

                  用于错误故障诊断监控:dberrfind.exe

                  诊断磁盘IO类:dbiomon.exe

                  诊断内存命中类:dbhitratiomon.exe

                  诊断表索引类:dbtableindexmon.exe

诊断表空间类:dbtbspacetmon.exe

                  诊断SQL类:dbsqlmon.exe

                  诊断进程类:dbprocessmon.exe

                  诊断会话类:dbsessionmon.exe

                  报告类:dbreport.exe

此篇主要是实现等待事件动态监控:dbwaiteventmon.exe

                  据说等待事件从ORACLE7.0.12开始的,对此不做任何评论,这种历史错了又何妨呢?

                  在12C 中共有等待事件:1650种,记住每个等待事件的可能性几乎是0. 如果能全记住,蛤蟆建议去参加最强大脑,但是生活中没记住可以查的,只要知道哪里可以查找即可。

                  主要分为IDLE和NON-IDLE的,我们关系NON-IDLE的等待。

当前实现的功能如下:

$ sh dbwaiteventmon.sh

Invalid Arguments!

pls use like this : ./dbwaiteventmon.exe [NUMBER ]

the NUMBER can be from 1 to 100

                  [1] show the wait event's parameters meaning

                  [2] show the specified SESSION's current all wait,you should specify the SESSIONID

                  [3] show the specified SESSION's history TOP 10 wait,you should specify theSESSION ID

                  [4] show ALL SESSION's current  wait

                  [5] show SYSTEM's TOP 10 wait event (the statistical information begin withinstance started)

                  [6] show SYSTEM's latch wait,gets,misses,sleeps, need latch name input

                  [7] get the last Minuts's wait event,you can define how minutes

                  [8] get the waitevent which waited more than ? seconds,you can control thesecond number

                  [9] get database wait time ratio

共9个功能。

分别是:

1 显示等待事件的参数含义

2 显示指定会话的当前所有等待,需要输入会话ID

3 显示指定会话的TOP 10历史等待,需要输入会话ID

4显示所有会话的当前等待

5 显示系统TOP 10等待事件

6 显示SYSTEM LATCH的WAITS,GETS,MISSES,SLEEPS,需要输入LATCH名字

7 获取最后几分钟等待事件,可以定义多少分钟

8 获取 超过多少秒的等待事件,可以输入多少秒

9 获取数据库等待事件占总体的比例,这个颗粒度比较大。

后续蛤蟆会不断更新,如果有更新会直接传到CSDN上。

下载地址:http://download.csdn.net/detail/notbaron/9447082

后续几篇的小工具也已经一并打包到里面,大家可以直接下载尝试一下。

你可能感兴趣的:(Oracle)