Developement/DataBase
Oracle lock이 걸렸을 때 blocker 찾기
highheat
2007. 12. 14. 23:26
SELECT/*+ ordered use_hash( sw l ) */
s.sid
,s.serial#
,s.module
,s.program
,sw.seconds_in_wait Sec
,TO_CHAR(l.sid) ||','||TO_CHAR(s1.Serial#)|| ':' || sw1.event ||decode(sw1.seconds_in_wait,0,NULL,'('||sw1.seconds_in_wait||'secs)') holder
FROM
v$session_wait sw
, v$session s
, v$lock l
, v$session s1
, v$session_wait sw1
WHERE sw.event like 'enq%'
AND S.sid = sw.sid
AND l.id1(+) = sw.p2
AND l.id2(+) = sw.p3
AND l.lmode(+) > 0
AND l.sid(+) <> sw.sid
AND s1.sid=sw1.sid
AND l.sid=s1.sid
ORDER BYl.sid, sw.seconds_in_wait DESC;