System waits (user, non-idle)
set linesize 250 set verify off set pagesize 9999 COLUMN Username FORMAT a14 HEADING 'User' COLUMN Sid FORMAT 99999 HEADING 'Sess ID' COLUMN blocking_session FORMAT 99999 HEADING 'Block SID' COLUMN sql_id FORMAT a14 HEADING 'SQL ID' COLUMN sql_hash_value FORMAT 99999999999 HEADING 'SQL Hash' COLUMN machine FORMAT a14 HEADING 'Machine' COLUMN program FORMAT a20 HEADING 'Program' COLUMN last_call_et FORMAT 999,999,999 HEADING 'Last call ET' COLUMN event FORMAT a25 HEADING 'Event name' COLUMN sec_wait FORMAT 999,999,999 HEADING 'Time waited' COLUMN state FORMAT a10 HEADING 'State' COLUMN name FORMAT a25 HEADING 'Event details' COLUMN wait_object_name FORMAT a25 HEADING 'Object Name' select s.username, s.sid, s.sql_id, s.blocking_session, s.sql_hash_value, s.machine, s.program, s.last_call_et, decode(w.event,'latch free',w.event||': '||l.name||' ',w.event) event, w.seconds_in_wait sec_wait, s.state, decode(w.event, 'db file sequential read',substr(substr(d.name,instr(d.name,'\',-1)+1,length(d.name)),instr(substr(d.name,instr(d.name,'\',-1)+1,length(d.name)),'/',-1)+1, length(substr(d.name,instr(d.name,'\',-1)+1,length(d.name))))||' '||w.p1text||'='||w.p1||' '||w.p2text||'='||w.p2||' '||w.p3text||'='||w.p3, 'db file scattered read' ,substr(substr(d.name,instr(d.name,'\',-1)+1,length(d.name)),instr(substr(d.name,instr(d.name,'\',-1)+1,length(d.name)),'/',-1)+1, length(substr(d.name,instr(d.name,'\',-1)+1,length(d.name))))||' '||w.p1text||'='||w.p1||' '||w.p2text||'='||w.p2||' '||w.p3text||'='||w.p3, w.p1text||'='||w.p1||' '||decode(w.p2text,null,'',w.p2text||'='||w.p2)||' '||decode(w.p3text,null,'',w.p3text||'='||w.p3) ) name, o.owner || '.' ||o.object_name wait_object_name from v$session_wait w, v$session s, v$datafile d, v$latch l, v$process p, dba_objects o where w.sid = s.sid and w.p2 = l.latch#(+) and p.addr = s.paddr and w.event not in ('Idle', 'SQL*Net message from client') and s.type = 'USER' and w.p1=d.file#(+) and s.row_wait_obj# = o.object_id(+) order by s.sql_hash_value,1 /