♣
题目部分
在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。
本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗
详细内容可以添加麦老师微信或QQ私聊。
About Me:小麦苗
● 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用
● 作者博客地址:http://blog.itpub.net/26736162/abstract/1/
● 本系列题目来源于作者的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解
● 版权所有,欢迎分享本文,转载请保留出处
● QQ:646634621 QQ群:618766405
● 提供OCP、OCM和高可用部分最实用的技能培训
● 题目解答若有不当之处,还望各位朋友批评指正,共同进步
DBA宝典
长按下图识别二维码或微信扫描下图二维码来关注小麦苗的微信公众号:xiaomaimiaolhr,学习最实用的数据库技术。