Oracle数据库常用SQL之查询数据库中的锁情况

SELECT
        RPAD('+', LEVEL, '-')
        || SID
        || ' '
        || SESS.MODULE AS SESSION_LEVEL, --锁关系层级
        SESS.INST_ID   AS INST_ID      , --会话实例
        SID                            ,
        SERIAL#                        ,
        OSID                           ,
        USERNAME                       ,
        MACHINE                        ,
        PROGRAM                        ,
        SESS.SQL_ID AS SQL_ID          ,
        OBJECT_NAME                    ,
        WAIT_EVENT_TEXT                ,
        IN_WAIT_SECS                   ,
        NUM_WAITERS                    , --此会话阻塞的会话数
        'SID:'
        || BLOCKER_SID
        || ','
        || BLOCKER_SESS_SERIAL#
        || ',@'
        || BLOCKER_INSTANCE AS BLK_INFO, --上级阻塞者
        'SID:'
        || FINAL_BLOCKING_SESSION
        || ',@'
        || FINAL_BLOCKING_INSTANCE AS F_BLK_INFO, --最终阻塞者
        'ALTER SYSTEM KILL SESSION '''
        || SID
        || ','
        || SERIAL#
        || ',@'
        || SESS.INST_ID
        || ''' IMMEDIATE;' AS KILL_SQL, ---杀锁会话
        RPAD(' ', LEVEL)
        || SQL_TEXT SQL_TEXT --锁会话SQL
FROM
        V$WAIT_CHAINS C
LEFT OUTER JOIN DBA_OBJECTS O
ON
        (
                ROW_WAIT_OBJ# = OBJECT_ID
        )
JOIN GV$SESSION SESS USING (SID)
LEFT OUTER JOIN GV$SQL SQL
ON
        (
                SQL.SQL_ID       = SESS.SQL_ID
            AND SQL.CHILD_NUMBER = SESS.SQL_CHILD_NUMBER
        )
        CONNECT BY PRIOR SID = BLOCKER_SID
    AND PRIOR SESS_SERIAL#   = BLOCKER_SESS_SERIAL#
    AND PRIOR INSTANCE       = BLOCKER_INSTANCE START
WITH BLOCKER_IS_VALID        = 'FALSE'
    AND NUM_WAITERS         <> 0;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

保定公民

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值