quarta-feira, 28 de abril de 2010

LOCKS - Blocking

SELECT SUBSTR (s1.username, 1, 12) "WAITING USER",
SUBSTR (s1.osuser, 1, 8) "OS User",
SUBSTR (TO_CHAR (w.session_id), 1, 5) "Sid", s1.serial# "SERIAL1",
p1.spid "PID", SUBSTR (s2.username, 1, 12) "HOLDING User",
SUBSTR (s2.osuser, 1, 8) "OS User",
SUBSTR (TO_CHAR (h.session_id), 1, 5) "Sid", s2.serial# "SERIAL2",
p2.spid "PID",
'alter system kill session '''
SUBSTR (TO_CHAR (h.session_id), 1, 5)
','
s2.serial#
''';' to_kill
FROM SYS.v_$process p1,
SYS.v_$process p2,
SYS.v_$session s1,
SYS.v_$session s2,
dba_locks w,
dba_locks h
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(+);

1 comentário:

  1. Grande Maia, isso é que é,,,,excelente inciativa :) :)

    Abraço,
    Márcio Ozal

    ResponderEliminar