select/**//*+ NO_MERGE(a) NO_MERGE(b) NO_MERGE(c) */'Wait' "Status", a.username, a.machine, a.sid, a.serial#, a.last_call_et "Seconds", b.id1, c.sql_text "SQL" from v$session a, v$lock b, v$sqltext c where a.username isnotnull and a.lockwait = b.kaddr and c.hash_value =a.sql_hash_value union select/**//*+ NO_MERGE(a) NO_MERGE(b) NO_MERGE(c) */'Lock' "Status", a.username, a.machine, a.sid, a.serial#, a.last_call_et "Seconds", b.id1, c.sql_text "SQL" from v$session a, v$lock b, v$sqltext c where b.id1 in (select/**//*+ NO_MERGE(d) NO_MERGE(e) */distinct e.id1 from v$session d, v$lock e where d.lockwait = e.kaddr) and a.username isnotnull and a.sid = b.sid and b.request=0 and c.hash_value =a.sql_hash_value;