ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 在LINUX系统下查耗用CPU的SQL语句

在LINUX系统下查耗用CPU的SQL语句

原创 Linux操作系统 作者:netfairy 时间:2011-05-25 10:19:40 0 删除 编辑
经常有同事找我:我们的系统CPU接近100%了,帮我看看是那条SQL造成的。现在给出方法,以方便大家自己查询。
a)
在LINUX中用”top d 2”命令查看
注意观察一段时间,找出CPU耗用持续比较高的ORACLE进程的PID值。比如:上例中的25325
b)        查看此进程对应执行的SESSION
select * from v$process where spid =25325;
查到ADDR为“00000003D11231F0”,继续查其对应的SESSION:
select * from v$session where paddr = '00000003D11231F0';
查到SID为58,知道是哪个SESSION之后就好办了,直接查看这个SESSION执行的SQL(可以直接从PL/SQL Developer工具的Sessions中看SQL Text),然后进行分析即可。

采用单条SQL完成上述任务:
SELECT * FROM v$sql WHERE hash_value =
(SELECT sql_hash_value FROM v$session WHERE paddr = (SELECT addr FROM v$process WHERE spid =用TOP命令看到的PID));

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4555/viewspace-711106/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-11-17

  • 博文量
    14
  • 访问量
    65728