龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > Oracle 技术 >

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

时间:2011-04-12 23:18来源:未知 作者:admin 点击:
分享到:
今天一个网管问我,为什么unix下一个oracle OS的进程消耗了那么多的CPU? 登录上服务器,果然发现了那个进程,是一个用户连接oracle的进程. 根据OS进程号(我这里用的直连方式),应该可以查到它
        
    今天一个网管问我,为什么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

精彩图集

赞助商链接