Find Oracle waiting sessions with DBA_WAITERS 

Joined:
04/09/2007
Posts:
753

March 31, 2010 15:14:39    Last update: March 31, 2010 15:17:46
DBA_WAITERS shows all the sessions that are waiting for a lock.

ColumnDatatypeDescription
WAITING_SESSIONNUMBERThe waiting session
HOLDING_SESSIONNUMBERThe holding session
LOCK_TYPEVARCHAR2(26)The lock type
MODE_HELDVARCHAR2(40)The mode held
MODE_REQUESTEDVARCHAR2(40)The mode requested
LOCK_ID1VARCHAR2(40)Lock ID 1
LOCK_ID2VARCHAR2(40)Lock ID 2


SQL> set lin 120
SQL> select * from dba_waiters;

WAITING_SESSION HOLDING_SESSION LOCK_TYPE                  MODE_HELD
--------------- --------------- -------------------------- ----------------------------------------
MODE_REQUESTED                             LOCK_ID1   LOCK_ID2
---------------------------------------- ---------- ----------
            235             364 Transaction                Exclusive
Exclusive                                    196617     151100


SQL>


Or join the v$session view to find out who it is:
select w.waiting_session, w.mode_requested, s.username, s.machine, s.osuser
from v$session s, dba_waiters w
where s.sid = w.holding_session;

Share |
| Comment  | Tags