等待事件在10G中的加强(二)

等待事件在10G中的加强(二)
2009-11-27
视图的加强:
v$event_name
9I
SQL> desc  v$event_name
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 EVENT#                                             NUMBER
 NAME                                               VARCHAR2(64)
 PARAMETER1                                         VARCHAR2(64)
 PARAMETER2                                         VARCHAR2(64)
 PARAMETER3                                         VARCHAR2(64)

10G
SQL> desc v$event_name
 Name                    Null?    Type
 ----------------------- -------- ----------------
 EVENT#                           NUMBER
 EVENT_ID                         NUMBER
 NAME                             VARCHAR2(64)
 PARAMETER1                       VARCHAR2(64)
 PARAMETER2                       VARCHAR2(64)
 PARAMETER3                       VARCHAR2(64)
 WAIT_CLASS_ID                    NUMBER
 WAIT_CLASS#                      NUMBER
 WAIT_CLASS                       VARCHAR2(64)
红色的字段是在10G中新加的。主要是用来把等待事件归并到合适的类别中。至于划分类别的好处看前一篇文章。
v$sql 和 v$sqlarea
在10g,和等待事件有关的字段增加了以下内容:
application_wait_time 
concurrency_wait_time 
cluster_wait_time 
user_io_wait_time 
plsql_exec_time 
java_exec_time 
Oracle官方文档对此没有做任何有意义的说明,还是通过例子来说明。
环境:
T2里有10多万的记录,一个session需要更新前99行。
SQL> update t2 set wner='KK' where rownum < 100;

99 rows updated.
另外的一个session同时执行相同的sql:
SQL> update t2 set wner='KK' where rownum < 100;

这是会导致等待事件。
我们可以通过v$session试图来查看:
select sid, sql_id,  PREV_SQL_ID , BLOCKING_SESSION_STATUS , BLOCKING_SESSION ,WAIT_CLASS_ID,SECONDS_IN_WAIT   ,WAIT_CLASS   from v$session  where
  2   username='KONG';
SID SQL_ID        PREV_SQL_ID   BLOCKING_SESSION_STATUS           BLOCKING_SESSION WAIT_CLASS_ID SECONDS_IN_WAIT WAIT_CLASS
---------- ------------- ------------- --------------------------------- ---------------- ------------- --------------- ----------------------------------------------------------------
       290 0hcsvq77pq2a8 dyk4dprp70d74 VALID                                          300    4217450380             118 Application
       300               0hcsvq77pq2a8 NO HOLDER                                             2723168908             124 Idle
可以看到SID 为300的session阻塞了SID为290的session,等待的原因为Application。
这是不再需要联合v$session和v$session_wait试图。

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/40239/viewspace-620889/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/40239/viewspace-620889/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值