v$session的blocking_session字段

本文通过SQL测试案例详细解释了blocking_session字段的用途,展示了当一个session阻塞另一个session时,如何识别和理解这种现象。通过查询v$mystat和v$session视图,我们能清晰地看到session间的相互作用和等待状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以下一个小测试来说明blocking_session的含义
SQL> select sid from v$mystat where rownum=1;
       SID
----------
       129
SQL> insert into test.test01(id) values (2);
1 row created.
SQL> commit;
Commit complete.
SQL> update test.test01 set id=3 where id=2;
1 row updated.
 
启动另外一个session
SQL> select sid from v$mystat where rownum=1;
       SID
----------
       128
SQL> update test.test01 set id=4 where id=2;
 
在前面的sid=129的session上查询
SQL> select sid,blocking_session from v$session where blocking_session is not null;
       SID BLOCKING_SESSION
---------- ----------------
       128              129
      
SQL> select sid,blocking_session ,event from v$session where blocking_session is not null;
       SID BLOCKING_SESSION EVENT
---------- ---------------- ------------------------------
       128              129 enq: TX - row lock contention
       
       
       
       
以上测试不难看出blocking_session字段表示了128这个session被blocking_session字段的值即129session阻塞了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值