martes, 31 de marzo de 2009

Query para verificar que un evento "enqueue" hace referencia un enqueue ITL

Buenos dias amigos,

Lo prometido es deuda, aqui tienen el query (extraido de la pagina: http://www.rampant-books.com/art_nanda_interested_tarnsaction_list_itl.htm) que ofreci en la entrega anterior, sirve para verificar si es que un evento "enqueue" es producido por una contencion en ITL

Select s.sid SID,
s.serial# Serial#,
l.type type,
' ' object_name,
lmode held,
request request
from v$lock l, v$session s, v$process p
where s.sid = l.sid and
s.username <> ' ' and
s.paddr = p.addr and
l.type <> 'TM' and
(l.type <> 'TX' or l.type = 'TX' and l.lmode <> 6)
union
select s.sid SID,
s.serial# Serial#,
l.type type,
object_name object_name,
lmode held,
request request
from v$lock l, v$session s, v$process p, sys.dba_objects o
where s.sid = l.sid and
o.object_id = l.id1 and
l.type = 'TM' and
s.username <> ' ' and
s.paddr = p.addr
union
select s.sid SID,
s.serial# Serial#,
l.type type,
'(Rollback='||rtrim(r.name)||')' object_name,
lmode held,
request request
from v$lock l, v$session s, v$process p, v$rollname r
where s.sid = l.sid and
l.type = 'TX' and
l.lmode = 6 and
trunc(l.id1/65536) = r.usn and
s.username <> ' ' and
s.paddr = p.addr
order by 5, 6
/

Salida de ejemplo del query anterior

SID SERIAL# TY OBJECT_NAM HELD REQUEST
----- ------- -- ---------- ---------- --------
36 8428 TX 0 4
36 8428 TM TAB1 3 0
52 29592 TM TAB1 3 0
52 29592 TX (Rollback=RBS1_6) 6 0


Note como la sesion 36 y 52 tienen un bloqueo de tipo 3 (transaction exclusive) TM (nivel de tabla) en TAB1, pero las sesion 52 tambien mantiene un bloqueo de tipo 6 (exclusive) TX (nivel de transaccion fila) en el segmento de rollback y la sesion y la sesion 36 esta esperando (HELD=0) por un bloqueo TX (nivel de fila) de nivel 4 (share).

Cuando tenemos esta particular combinacion de bloqueos podemos estar seguros que la sesion 36 esta esperando debido a un bloqueo de tipo ITL.

Vamos a deducir este singular patròn de bloqueos en la siguiente entrega cuando hablemos de BLOCK CLEANOUT.

Hasta pronto ....

1 comentario:

Cualquier comentario, sugerencia o pregunta sera aceptada gustosamente.