DBAtlas · Atlas d'exploitation des bases de données

Trouver la session bloquante

OracleSessions et processus

Commande

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;

Ce que fait la commande

Liste les paires de sessions bloquante/en attente avec le temps d'attente et l'événement.

Quand l'utiliser

Pour trouver le coupable dans les problèmes de verrous du type "application figée / attente enq: TX".

Attention

Confirmez avec le responsable métier avant de terminer la session bloquante ; il peut s'agir d'une opération critique. Requête uniquement ; aucun risque.

Ouvrir dans DBAtlas →

Voir aussi