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

qihuo qihuo 信息技术经理 山东天普阳光集团
学习了!
工业制造其它 · 2012-05-10
浏览1472

回答者

qihuo
qihuo 0 0 4
信息技术经理 山东天普阳光集团
擅长领域: 服务器存储数据库
评论1034

qihuo 最近回答过的问题

回答状态

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