您的位置:首页 > 数据库

根据进程id查看进程在做什么(执行的sq语句)

2014-10-11 15:51 225 查看
有时候会见到一个操作进程占用了很多系统资源,此时需要弄清楚这个进程是在干什么,将红色标记的部分替换成操作系统进程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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  sql 脚本
相关文章推荐