有時候會見到一個操作進程佔用了很多系統資源,此時需要弄清楚這個進程是在幹什麼,將紅色標記的部分替換成操作系統進程id(PID)即可。
select distinct
'-------------------------------------------'||chr(10)||
'USERAME :' || s.username || chr(10) ||
'SCHEMA :' || s.SCHEMANAME || chr(10) ||
'OSUSER :' || s.osuser || chr(10) ||
'PROGRAM :' || s.program || chr(10) ||
'SPID :' || s.sid || chr(10) ||
'SERIAL# :' || s.serial# || chr(10) ||
'KILL STRING:' || ''''|| s.sid || ',' || s.serial# || '''' || chr(10) ||
'MACHINE :' || s.machine || chr(10) ||
'TYPE :' || s.type || chr(10) ||
'TERMINAL :' || s.terminal || chr(10) ||
'SQL ID :' || q.sql_id || chr(10) ||
'SQL TEXT :' || q.sql_text into block_info
FROM v$session s
,v$process p
,v$sql q
WHERE s.paddr = p.addr
AND s.sid = bsid
and s.sql_id = q.sql_id(+);
dbms_output.put_line(block_info);
end;