根據進程id查看進程在做什麼(執行的sq語句)

        有時候會見到一個操作進程佔用了很多系統資源,此時需要弄清楚這個進程是在幹什麼,將紅色標記的部分替換成操作系統進程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;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章