【DB笔试面试698】在Oracle中,如何查看某一个会话是否被其它会话阻塞?

2021/4/15 19:55:52

本文主要是介绍【DB笔试面试698】在Oracle中,如何查看某一个会话是否被其它会话阻塞?,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

♣          题目         部分

在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;
     


watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=


由上图可知,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。




这篇关于【DB笔试面试698】在Oracle中,如何查看某一个会话是否被其它会话阻塞?的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程