如何查看unix下某个oracle OS的进程在做什么操作

王朝oracle·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

今天一个网管问我,为什么unix下一个Oracle OS的进程消耗了那么多的CPU?

登录上服务器,果然发现了那个进程,是一个用户连接oracle的进程.

根据OS进程号(我这里用的直连方式),应该可以查到它正在执行什么SQL语句.

-- 查到oracle OS进程的sid编号:

select ses.sid from v$session ses,v$process pro where pro.spid=&spid and ses.paddr=pro.addr;

-- 查到此sid连接用户正在执行的SQL语句:

select sql_text from v$sqltext_with_newlines where (hash_value,address)

in (select sql_hash_value,sql_address from v$session where sid=&sid) order by address,piece;

原来是一个条件复杂的分组统计的SQL

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航