您的位置:首页 > 数据库

DBA常用SQL之会话与等待事件

2015-12-02 15:37 295 查看
SELECT
s1.username  "WAITING USER"
, s1.osuser    "OS User"

, s1.LOGON_TIME "logon time"
, w.session_id "Sid"
, p1.spid      "PID"
, q1.SQL_TEXT  "SQLTEXT"
, s2.username         "HOLDING User"
, s2.osuser           "OS User"

, s2.LOGON_TIME "logon time"
, h.session_id        "Sid"
, p2.spid             "PID"
, q2.SQL_TEXT         "SQLTEXT"
FROM
sys.v_$process p1
, sys.v_$process p2
, sys.v_$session s1
, sys.v_$session s2
, dba_locks  w
, dba_locks  h
, v$sql q1
, v$sql q2
WHERE
h.mode_held      != 'None'
AND h.mode_held      != 'Null'
AND w.mode_requested != 'None'
AND w.lock_type  (+)  = h.lock_type
AND w.lock_id1   (+)  = h.lock_id1
AND w.lock_id2   (+)  = h.lock_id2
AND w.session_id      = s1.sid   (+)
AND h.session_id      = s2.sid   (+)
AND s1.paddr          = p1.addr  (+)
AND s2.paddr        = p2.addr  (+)
AND s1.SQL_ID=q1.SQL_ID(+)
AND s2.SQL_ID=q2.SQL_ID(+)
order by h.session_id
;


6.2查询阻塞会话与被阻塞会话的对应SQL
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: