Oracle10g新特性——等待接口
2008-08-30 12:44:37 来源:WEB开发网SQL> select BLOCKING_SESSION_STATUS, BLOCKING_SESSION
2 from v$session
3 where sid = 269;
BLOCKING_SE BLOCKING_SESSION
----------- ----------------
VALID 265
这个结果说明:SID为265的会话阻塞了会话269。
有多少等待?
有一个用户的会话一致在保持着,他的问题还没有得到满意的解决。为什么他的会话会保持这么长事件还没有完成呢?你可以通过以下查询来定位:
SQL> select * from v$session_wait_class where sid = 269;
SID SERIAL# WAIT_CLASS_ID WAIT_CLASS# WAIT_CLASS TOTAL_WAITS TIME_WAITED
---- ------- ------------- ----------- ------------- ----------- -----------
269 1106 4217450380 1 Application 873 261537
269 1106 3290255840 2 Configuration 4 4
269 1106 3386400367 5 Commit 1 0
269 1106 2723168908 6 Idle 15 148408
269 1106 2000153315 7 Network 15 0
269 1106 1740759767 8 User I/O 26 1
请注意关于这个会话等待的诸多信息。现在你就知道了这一会话已经等待和应用相关的等待事件共873次、261537厘秒,等待网络相关的事件15次,等等。
用同样方法,你可以通过以下查询获取到整个系统范围的等待事件分类的统计信息,时间单位还是厘秒:
SQL> select * from v$system_wait_class;
WAIT_CLASS_ID WAIT_CLASS# WAIT_CLASS TOTAL_WAITS TIME_WAITED
------------- ----------- ------------- ----------- -----------
1893977003 0 Other 2483 18108
4217450380 1 Application 1352 386101
3290255840 2 Configuration 82 230
3875070507 4 Concurrency 80 395
3386400367 5 Commit 2625 1925
2723168908 6 Idle 645527 219397953
2000153315 7 Network 2125 2
1740759767 8 User I/O 5085 3006
4108307767 9 System I/O 127979 18623
大多数问题的发生都不是孤立的。在它们背后还存在一些其他问题,这些问题可以通过一种样式来定位。这一样式可以通过以下查询语句来查询一个历史视图来获得:
赞助商链接