通过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 个回答tiantom的回答

tiantomtiantom技术经理****有限公司
有空测试一下,呵呵
互联网服务 · 2012-05-08
浏览1521

回答者

tiantom
技术经理****有限公司
擅长领域: 主机云计算私有云

tiantom 最近回答过的问题

回答状态

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