ITPub博客

首页 > 数据库 > Oracle > 如何捕获问题SQL解决过度CPU消耗的问题

如何捕获问题SQL解决过度CPU消耗的问题

Oracle 作者:kakaxi9521 时间:2020-10-19 10:50:20 1 删除 编辑
  1. 登入数据库主机,使用vmware检查是否有大量队列堆积。     

    vmstat 3

  2. 使用top命令查看cpu的耗用,发现有没有明显过高的CPU使用的进程。

    top -H

  3. 检查进程数量。 

    ps -ef | grep ora|wc -l

  4. 检查数据库

    select sid, event, p1, p1text from v$session_wait;

  5. 捕获相关SQL

          SELECT sql_text

  FROM v$sqltext a

 WHERE a.hash_value =

       (SELECT sql_hash_value FROM v$session b WHERE b.SID = '&sid')

 ORDER BY piece ASC;

      6. 决定创建新的索引以消除全表扫描。

      7. 观察系统情况。


转发链接:

https://mp.weixin.qq.com/s?__biz=MzI2NzM1OTM4OA==&mid=2247491225&idx=1&sn=ac866f3d0bbba602e31aa53ca880b74f&chksm=ea815b6addf6d27c0f85b9b84c237e4ca93f497fe293c31877990cef9259c6ab8450745b31be&scene=21#wechat_redirect

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

上一篇: 16.3.10延迟复制
下一篇: 数据库范式
请登录后发表评论 登录
全部评论

注册时间:2009-04-13

  • 博文量
    136
  • 访问量
    179046