I gv$session
, event
kolumnen berättar vilken väntehändelse din session väntar på. Om din session väntar på någon form av lås som hålls av en annan session, event
kommer att berätta för dig att (det kommer till exempel att vara "enq:TX - radlåskonflikt" om du står i kö och väntar på att låsa en rad som hålls av en annan session) och blocking_instance
och blocking_session
kommer att fyllas i med instansen och sessions-ID för innehavaren av låset. Du kan också titta på seconds_in_wait
(om wait_time=0
) för att avgöra hur många sekunder sessionen har spenderat i den aktuella väntehändelsen. Det borde åtminstone tala om för dig om din session för närvarande har "fastnat", men den säger inte om din fråga någonsin verkligen kommer att slutföras - om det finns en dålig plan är det fullt möjligt att du har "bra" wait-händelser som väntar på disk I/O som indikerar att sessionen gör något men att frågan aldrig riktigt kommer att slutföras.