jueves, 15 de marzo de 2012

Bloqueos de BD

Bloqueos de BD en ORACLE

Existen diferentes maneras de matar una sesión de oracle.
El primer paso es identificar la sesión que queremos matar. Con esta consulta vemos que sid y serial estan bloqueando


select
    s1.username || '@' || s1.machine 
    || ' ( SID,S#=' || s1.sid || ',' || s1.serial# || ' )  is blocking '
    || s2.username || '@' || s2.machine
    || ' ( SID,S#=' || s2.sid || ',' || s2.serial# || ' )'
        AS blocking_status
from
    v$lock l1,
    v$session s1,
    v$lock l2,
    v$session s2
where
    s1.sid = l1.sid
    and s2.sid = l2.sid
    and l1.BLOCK = 1
    and l2.request > 0
    and l1.id1 = l2.id1
    and l2.id2 = l2.id2;

Una vez identificados, corremos este comando para matar la session que esta efectuando el bloqueo:

ALTER SYSTEM KILL SESSION '141,1851' IMMEDIATE; 


Links muy utiles:

No hay comentarios:

Publicar un comentario