enqueue | ExpoDBA

enqueue

Detectar enq: TX - row lock contention

Es muy común que los usuarios de base de datos (desarrolladores principalmente) reclamen al DBA de turno que tienen una tabla bloqueada: ¿Quien bloquea mi tabla? Ahi es donde es necesario aclarar el concepto de LOCK en Bases de datos y en particular Oracle. El LOCK es un comportamiento normal de la base de datos para poder asegurar que las transacciones se realizan cumpliendo con las características ACID (Atomicity, Consistency, Isolation, Durability).

INITRANS y el evento "enq: TX - row lock contention"

El evento de espera "enq: TX - row lock contention" corresponde a una transacción que está solicitando un lock sobre una row en un momento dado, y no puede acceder a ella.

Oracle aplica bloqueo de tablas a nivel de fila, y por lo tanto, 2 transacciones no pueden modificar una misma fila al mismo tiempo (Cosa que está muy bien).