Encontrar a sessão bloqueadora
OracleSessões e processosComando
SELECT bl.sid AS blocker_sid,
bl.serial# AS blocker_serial,
bl.username AS blocker_user,
w.sid AS waiter_sid,
w.serial# AS waiter_serial,
w.username AS waiter_user,
w.seconds_in_wait AS wait_sec,
w.event
FROM v$session w
JOIN v$session bl ON bl.sid = w.blocking_session
WHERE w.blocking_session IS NOT NULL
ORDER BY w.seconds_in_wait DESC;O que faz
Lista os pares de sessões bloqueadora e em espera com o tempo de espera e o event.
Quando usar
Para encontrar o culpado em problemas de lock como "aplicação travada / espera enq: TX".
Atenção
Confirme com o responsável de negócio antes de encerrar o bloqueador; pode ser uma operação crítica. Apenas consulta; sem risco.