select decode(status,'INACTIVE',username || ' ' || sid || ',' || serial
decode(status,'ACTIVE', username || ' ' || sid || ',' || serial
inst_id
from( select level as le, NVL(s.username,'(oracle)') AS username,
s.osuser,
s.sid,
s.serial
s.lockwait,
s.module,
s.machine,
s.status,
s.program,
s.inst_id,
to_char(s.logon_TIME, 'DD-MON-YYYY HH24:MI:SS') as logon_time
from gv$session s
where level>1
or EXISTS( select 1
from gv$session
where blocking_session = s.sid)
CONNECT by PRIOR s.sid = s.blocking_session
START WITH s.blocking_session is null);
select inst_id, decode(status,'INACTIVE',username || ' ' || sid || ',' || serial#,'lock') as Holder,
decode(status,'ACTIVE', username || ' ' || sid || ',' || serial#,'lock') as waiter, sid, serial#, status
from( select level as le, NVL(s.username,'(oracle)') AS username,
s.osuser,
s.inst_id,
s.sid,
s.serial#,
s.lockwait,
s.module,
s.machine,
s.status,
s.program,
to_char(s.logon_TIME, 'DD-MON-YYYY HH24:MI:SS') as logon_time
from gv$session s
where level>1
or EXISTS( select 1
from gv$session
where blocking_session = s.sid)
CONNECT by nocycle PRIOR s.sid = s.blocking_session
START WITH s.blocking_session is null);