locks | ExpoDBA

locks

Locks (Esperas y Bloqueadores)

Muestra las sesiones que generan lock y las sesiones que esperan por que el lock se libere.
Con este script se puede identificar a que programa pertenece la sesion, a que usuario, por que evento espera, hace cuanto tiempo, etc.

 

Identificar quien bloquea un objeto (ORA-00054)

Esta vista Muestra información importante sobre los usuarios que mantienen un LOCK sobre un objeto específico.
Especial para determinar quien bloquea un objeto cuando recibimos un error:
ORA-00054: resource busy and acquire with NOWAIT specified

set linesize 200
col pogram format a40
col program format a50
col machine format a40
col osuser format a10
col username format a12

select s.inst_id, s.sid, s.serial#, lo.PROCESS, s.osuser,

LIBRARY CACHE PIN event (Lock y Enqueues)

Muestra en una misma lista las sesiones que tienen Library Cache Lock y en la siguiente fila, los objetos esperando por la liberación de ese lock (eventos en library cache pin).
Muy útil para identificar las sesiones que generan los enqueues en library cache pin.

  /*Muestra sesiones en library cache pin y sus holders*/
   SELECT s.sid, serial#,
   decode (kglpnmod,
    0, 'none (0)',
    2, 'Share (2)',
    3, 'Exclusive (3)') "HOLDED",
   decode (kglpnreq,
    0, 'none (0)',

Locks (identifiacion de bloqueador y bloqueados)

Este script no solo muestra si hay locks, sino también quien tiene tomado el recurso que genera el lock, quienes esperan por la liberación de ese recurso.
Con estos datos se puede identificar el tipo de espera, la sesion , el comando que ejecuta, cuanto tiempo tiene tomado el Lock, etc.

set linesize 250
col sess format a20
col event format a40
col mata format a40
col osuser format a10
col username format a11


SELECT /*+ RULE */
a.sid,b.serial#,