¿Cómo comprobar si una declaración SQL en Oracle bloquea una declaración SQL?
Al verificar la tabla de la base de datos, podemos averiguar qué declaración está en punto muerto y qué máquina está en punto muerto.
1) Utilice el usuario dba para ejecutar las siguientes declaraciones.
¿Elegir? ¿Nombre de usuario, espera de bloqueo, estado, máquina, programa? ¿De donde? v$sesión? ¿Dónde? Sid.
(¿Seleccionar? session_id? ¿Desde dónde? V$locked_object) Si hay un resultado de salida, significa que hay un punto muerto. Puede ver qué máquina está bloqueada. Descripción del campo:
nombre de usuario: usuario de la base de datos utilizado por la declaración de interbloqueo;
Lockwait: estado de interbloqueo, si hay contenido, significa interbloqueo.
Estado: Estado, la actividad indica punto muerto.
Máquina: La máquina donde se encuentra la declaración de interbloqueo.
Programa: ¿Qué aplicación es la fuente principal de declaraciones de interbloqueo?
2) Utilice el usuario dba para ejecutar la siguiente declaración para ver las declaraciones de interbloqueo.
¿Elegir? texto_sql? ¿De donde? v$sql? ¿Dónde? ¿Valor hash? ¿existir?
(¿Seleccionar?sql_hash_value?desde dónde?v$sesión?dónde?sid.in
(seleccionar?session_id?desde dónde?v$locked_object) )