In gv$session
, l'event
la colonna ti dice quale evento di attesa è attualmente in attesa della tua sessione. Se la tua sessione è in attesa di una sorta di blocco tenuto da un'altra sessione, l'event
ti dirà che (ad esempio, sarà "enq:TX - row lock contenzioso" se sei accodato in attesa di bloccare una riga tenuta da un'altra sessione) e blocking_instance
e blocking_session
verrà popolato con l'istanza e l'ID di sessione del titolare del blocco. Puoi anche guardare seconds_in_wait
(se wait_time=0
) per determinare quanti secondi ha trascorso la sessione nell'evento di attesa corrente. Questo dovrebbe almeno dirti se la tua sessione è attualmente "bloccata" ma non ti dice se la tua richiesta finirà mai davvero:se c'è un piano sbagliato, è del tutto possibile che tu abbia "buono" wait eventi come le attese per l'I/O del disco che indicano che la sessione sta facendo qualcosa ma che la query non verrà mai davvero completata.