CPU主要功能:处理指令、执行操作、要求进行动作、控制时间、处理数据。 结合数据库实例CPU占用高,可能的原因是数据库在执行大量的操作(全表查询、大量排序等)。 由于公司没有DBA,遇到数据库问题只能自己排查。 一、是否存在死锁
CPU主要功能:处理指令、执行操作、要求进行动作、控制时间、处理数据。
结合数据库实例CPU占用高,可能的原因是数据库在执行大量的操作(全表查询、大量排序等)。
由于公司没有DBA,遇到数据库问题只能自己排查。
SELECT P.PID,
S.SID,
S.SERIAL#,
S.USERNAME,
Q.SQL_ID,
Q.SQL_TEXT,
Q.SQL_FULLTEXT,
W.EVENT,
W.WaiT_TIME,
W.STATE,
CASE
WHEN W.STATE = "WAITING" THEN
W.SECONDS_IN_WAIT
WHEN W.STATE = "WAITING KNOWN TIME" THEN
W.WAIT_TIME
END AS SEC_IN_WAIT
FROM V$SESSION S, V$SESSION_WAIT W, V$SQLAREA Q, V$PROCESS P
WHERE S.SID = W.SID
AND S.SQL_ID = Q.SQL_ID
AND P.ADDR = S.PADDR
AND W.EVENT NOT LIKE "SQL*Net%"
AND S.USERNAME IS NOT NULL
AND W.WAIT_TIME >= 0
ORDER BY W.WAIT_TIME DESC;
发现存在等待事件,分析待执行的SQL发现存在多表(百万数据)全量关联查询。
于是对数据以及SQL进行了相应优化,CPU占用较高问题得到根本解决。
造成CPU暴增的原因有很多,思路也有很多,后续如果遇到可以参考上述思路,精准定位到问题并进行优化。
--结束END--
本文标题: Oracle实例占用超高CPU排查
本文链接: https://www.lsjlt.com/news/3698.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-14
2024-05-14
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0