Oracle OWI等待事件历史视图及相关视图(二)

2014-11-24 13:09:17 · 作者: · 浏览: 2
查询来看,系统等待以Idle的情形居多,系统总体运行良好。
--为便于演示,我们可以查看是哪些sid导致了过多的User I/O
goex_admin@SYBO2SZ> SELECT sid,
2 time_waited,
3 total_waits,
4 ROUND (time_waited / total_waits, 2) AS percnt
5 FROM v$session_wait_class
6 WHERE wait_class# = 8 AND ROWNUM < 2
7 ORDER BY percnt;
SID TIME_WAITED TOTAL_WAITS PERCNT
------ ----------- ----------- ----------
1014 12088 186162 .06
--一旦找到上述导致某类等待事件过多的sid,进一步可以找出对应的sql语句。其次也可以找出该sid经历的所有等待事件。
--查看单个会话级的等待类别
--下面的查询可以看出sid为1083的session经历等待最多的是网络等待
goex_admin@SYBO2SZ> select * from v$session_wait_class where sid=1083 order by 6 desc;
SID SERIAL# WAIT_CLASS_ID WAIT_CLASS# WAIT_CLASS TOTAL_WAITS TIME_WAITED
------ ---------- ------------- ----------- ------------------ ----------- -----------
1083 72 2000153315 7 Network 11 0
1083 72 2723168908 6 Idle 10 15
1083 72 4217450380 1 Application 2 0
1083 72 1740759767 8 User I/O 2 3
3、视图v$system_wait_class
[sql]
--该视图包含了v$session_wait_class视图的信息,显示的是自实例启动后等待类在实例级的总等待和等待时间。
--该视图基于数据库整体等待事件类进行评估数据库性能,而非单个等待事件。
--下面的查询中可以看出基于用户类的等待事件最多,应该集中focus 在User I/O这一块。
SQL> select * from v$system_wait_class order by 4 desc;
WAIT_CLASS_ID WAIT_CLASS# WAIT_CLASS TOTAL_WAITS TIME_WAITED
------------- ----------- --------------------- ----------- -----------
1740759767 8 User I/O 276741470 5086685
2000153315 7 Network 131198524 177709
2723168908 6 Idle 33734334 6334346903
4108307767 9 System I/O 11799468 2288863
3386400367 5 Commit 1204500 91997
3875070507 4 Concurrency 51928 81428
1893977003 0 Other 38786 43836
4217450380 1 Application 28600 20398
3290255840 2 Configuration 15309 296458
4166625743 3 Administrative 1298 30917
10 rows selected.
4、视图v$event_histogram
[sql]
--v$event_histogram视图是等待事件直方图。有点类似于列上使用的直方图,用于描述等待事件在特定等待时间段内的频度。
--根据对某些特定等待事件的频度进行分析可以得出该等待事件是否处于异常状况,进而采取进一步的措施。
--对下面的查询结果进行分析
goex_admin@SYBO2SZ> select * from v$event_histogram where event#=115;
EVENT# EVENT WAIT_TIME_MILLI WAIT_COUNT
---------- --------------------- --------------- ----------
115 log file sync 1 1739
115 log file sync 2 1151
115 log file sync 4 374
115 log file sync 8 1637
115 log file sync 16 3281
115 log file sync 32 4070
115 log file sync 64 4308
115 log file sync 128 3698
115 log file sync 256 3491
115 log file sync 512 3556
115 log file sync 1024 6083
--上面的查询中展示的是log file sync等待事件自本实例启动以来基于事件频度发生的次数。
--在大于512ms至1024ms区间,该事件发生的次数竟然达到了6083次。即时是小于2ms的情形也出现了1739次。明显存在异常。
--上述情形表明该数据库正在经历严重的log file sync 事件。对于上述情形,我们在awr报告的top event中应该也会看到该等待事件