通过AIX性能工具,查询最耗资源的oracle进程

最近割接数据库主机后,发现CPU占用率一直居高不下,遂想把最耗CPU资源的进程找到研究一番,结果把未经过优化过的的sql给翻出来了。费话少说,上菜。     AIX 主机性能工具  本地目录/home/duty/nmon_aix52    执行后,按t键, 列出最耗CPU资源的前...显示全部
最近割接数据库主机后,发现CPU占用率一直居高不下,遂想把最耗CPU资源的进程找到研究一番,结果把未经过优化过的的sql给翻出来了。费话少说,上菜。



    AIX 主机性能工具  本地目录/home/duty/nmon_aix52    执行后,按t键, 列出最耗CPU资源的前几十位进程的 进程号以及描述信息。结果一看是oracle的进程占了大半。

    继续深纠:为了优化这些sql语句,需要把这些进程关联的sql给找出来,OK

SELECT B.SPID,A.SID,C.SQL_TEXT FROM V$SESSION A,V$PROCESS B,

(select a.address address,a.hash_value hash_value,a.sql_text sql_text,b.sid sid,b.user_name user_name,piece from  v$sqltext a,v$open_cursor b
        where  a.ADDRESS = b.ADDRESS
        order by piece)c
WHERE
A.PADDR=B.ADDR
AND A.SID = C.SID
and b.spid = '21299252'
order by B.SPID,A.SID,c.piece



直接把 b.spid 换成相应的进程号收起
参与4

查看其它 3 个回答zhenzongjian的回答

zhenzongjianzhenzongjian软件开发工程师na
用sql语句查出来的啊
互联网服务 · 2012-05-16
浏览1427

回答者

zhenzongjian
软件开发工程师na
擅长领域: 服务器AIXUnix

zhenzongjian 最近回答过的问题

回答状态

  • 发布时间:2012-05-16
  • 关注会员:0 人
  • 回答浏览:1427
  • X社区推广