【DB笔试面试698】在Oracle中,如何查看某一个会话是否被其它会话阻塞?
作者:互联网
♣
题目部分
在Oracle中,如何查看某一个会话是否被其它会话阻塞?
♣
答案部分
SQL语句如下所示:
1SELECT A.BLOCKING_SESSION_STATUS, 2 A.BLOCKING_INSTANCE, 3 A.BLOCKING_SESSION, 4 A.EVENT 5 FROM GV$SESSION A 6 WHERE A.SID = 1070;
由上图可知,1070会话被2号实例上的970会话阻塞。
BLOCKING_SESSION_STATUS | VARCHAR2(11) | 标识当前会话是否被阻塞。VALID表示当前会话被阻塞,可以通过BLOCKING_INSTANCE和 BLOCKING_SESSION列查找到阻塞会话;“NO HOLDER”表示没有被阻塞;“NOT IN WAIT”表示当前会话未等待;UNKNOWN表示未知。 |
BLOCKING_INSTANCE | NUMBER | 当BLOCKING_SESSION_STATUS的值为VALID时,该列表示阻塞会话的实例号(Instance Number)。 |
BLOCKING_SESSION | NUMBER | 当BLOCKING_SESSION_STATUS的值为VALID时,该列表示阻塞会话的SID。 |
标签:STATUS,698,DB,阻塞,VALID,会话,SESSION,BLOCKING 来源: https://blog.51cto.com/lhrbest/2707538