Bloqueos de registros en oracle

Necesito saber como puedo determinar si un registro esta bloqueado en una tabla, en una base de datos oracle.
La idea es que necesito crear un procedimiento para que cuando encuentre un registro bloqueado el sistema me envíe un mensaje.

1 respuesta

Respuesta
1
Lo más importante no es detectar el bloqueo sino detectar quien lo produce y tratar de que esto no vuelva a ocurrir. Generalmente son deficiencias por parte del desarrollo.
Para obtener esta información es sencillo, con sólo chequear ls vista v$lock puedes deterninar SID y LMODE, supongo que te interesaran los de tipo TX 6. Una cosa más, que se produzcan bloqueos no está mal. Es negativa cuando otras sesiones esperan más de lo debido. Oracle tiene herramientas como el EM que permiten hacer exactamente esto que necesitas, se programa como un evento en el cual ademas puedes verificar otras cosas como si se ha generado un trace o dead lock o bien si hay un nuevo error en alert de la base, consíderalo, no recuerdo el licenciamiento de este producto, puede que lo tengas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas