Capturar un bloqueo de tabla Oracle dentro de una transaccion

maria2101
25 de Mayo del 2005
Como puedo saber si una tabla esta bloqueada en una transaccion.?
Porque el driver ni Oracle lanzan ninguna exception.


jc3000
25 de Mayo del 2005
Utiliza esta select

select SID,S.SERIAL#,s.lockwait,s.module,s.program
, s.osuser, n.owner ||'.'||n.object_name, s.status
from v$session s , v$process p , v$locked_object l , all_objects n
where s.sid = l.session_id and l.object_id = n.object_id and p.addr=s.paddr
order by 7

La tabla en la que el tercer campo de la query está relleno ( LOCKWAIT ) está bloqueada .

Esta otra es para saber quien está forzando los bloqueos

SELECT USERNAME, OSUSER, TERMINAL, STATUS, PROGRAM, SID, SERIAL#
FROM v$session where SID IN (SELECT * FROM DBA_BLOCKERS)

¿ Algo mas Corazón?