Re: query for waiters queue
From: De DBA <dedba_at_tpg.com.au>
Date: Thu, 10 Jan 2013 10:11:27 +1000
Message-ID: <50EE072F.90307_at_tpg.com.au>
I used to use this (not sure if it still works in 11g though):
break on bl on ws on ser on wa on lg on ob
, v$session s2
, sys.obj$ o
order by l1.sid, o.name, l2.sid
/
Date: Thu, 10 Jan 2013 10:11:27 +1000
Message-ID: <50EE072F.90307_at_tpg.com.au>
I used to use this (not sure if it still works in 11g though):
col ob for a40 head "Object Name" col lm for a14 head "Locking|Mode" col tm for 9,999,990 head "Time (sec)" col bl for 9999 head "Blocking|Sid" col ws for 9999 head "Waiting|Sid" col ser for 99999 head "Waiting|Serial" col wa for a20 head "Waiter"
break on bl on ws on ser on wa on lg on ob
select /*+ all_rows */
l1.sid bl , l2.sid ws , s2.serial# ser , s2.username wa , decode(l2.lmode, 0, 'None', 1, 'Null', 2, 'Row-S (SS)', 3, 'Row-X (SX)', 4, 'Share', 5, 'S/Row-X (SSX)', 6, 'Exclusive', to_char(l1.lmode) ) lm , o.name ob , to_char(s2.logon_time, 'DD-Mon-YYYY, HH24:MI:SS') lg from v$lock l2 , v$lock l1
, v$session s2
, sys.obj$ o
where o.obj# = l1.id1 and s2.sid = l2.sid and l1.type = 'TM' and l2.type = 'TM' and l1.id1 = l2.id1
order by l1.sid, o.name, l2.sid
/
Cheers,
Tony
On 10/01/13 2:27 AM, John D Parker wrote:
> So I have all the classic queries for finding blockers and waiters. I keep running into the situation where I have one holder and 600 waiters. I clear off the blocker and then another one picks up and blocks. Is there a query that will give the current waiter queue? I see that Jonathan talks about a trace event to create a trace file but that's not particularly useful in my situation. Anyone have a query for this?
> Thanks in advance!
>
> John
>
> --
> http://www.freelists.org/webpage/oracle-l
>
>
>
-- http://www.freelists.org/webpage/oracle-lReceived on Thu Jan 10 2013 - 01:11:27 CET