Dans gv$session
, l'event
La colonne vous indique quel événement d'attente votre session attend actuellement. Si votre session attend une sorte de verrou détenu par une autre session, l'event
vous le dira (par exemple, ce sera "enq:TX - row lock contention" si vous êtes mis en file d'attente en attendant de verrouiller une ligne détenue par une autre session) et blocking_instance
et blocking_session
sera renseigné avec l'ID d'instance et de session du détenteur du verrou. Vous pouvez également regarder seconds_in_wait
(si wait_time=0
) pour déterminer combien de secondes la session a passées dans l'événement d'attente actuel. Cela devrait au moins vous dire si votre session est actuellement "bloquée", mais cela ne vous dit pas si votre requête va vraiment finir - s'il y a un mauvais plan, il est tout à fait possible que vous ayez "bon" des événements d'attente comme des attentes d'E/S disque qui indiquent que la session est en train de faire quelque chose mais que la requête ne va jamais vraiment se terminer.