首页 > 数据库 > Oracle > 如何捕获问题SQL解决过度CPU消耗的问题
登入数据库主机,使用vmware检查是否有大量队列堆积。
vmstat 3
使用top命令查看cpu的耗用,发现有没有明显过高的CPU使用的进程。
top -H
检查进程数量。
ps -ef | grep ora|wc -l
检查数据库
select sid, event, p1, p1text from v$session_wait;
捕获相关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/ ,如需转载,请注明出处,否则将追究法律责任。