温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Oracle怎么排查CPU占用过高的排查

发布时间:2021-08-27 14:55:07 来源:亿速云 阅读:748 作者:chen 栏目:数据库

本篇内容主要讲解“Oracle怎么排查CPU占用过高的排查”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Oracle怎么排查CPU占用过高的排查”吧!

  CPU主要功能:处理指令、执行操作、要求进行动作、控制时间、处理数据。

  结合数据库实例CPU占用高,可能的原因是数据库在执行大量的操作(全表查询、大量排序等)。

  由于公司没有DBA,遇到数据库问题只能自己排查。

是否存在死锁

  查询死锁以及解锁的语句参考下方:

  查看死锁ID

  SELECTs.username,l.OBJECT_ID,l.SESSION_ID,s.SERIAL#,

  l.Oracle_USERNAME,l.OS_USER_NAME,l.PROCESSFROMV$LOCKED_OBJECT

  l,V$SESSIONSWHEREl.SESSION_ID=S.SID;

  查看表名称

  selectb.owner,b.object_name,a.session_id,a.locked_modefromv$locked_objecta,dba_objectsbwhereb.object_id=a.object_id;

  手工关闭死锁

  altersystemkillsession‘sid,serial#’;(其中sid=l.session_id)

  通过查询死锁也发现了一些死锁,杀掉后CPU没有降下来,只能重新排查。

  借助PLSQL查询定时job和session

  通过PL/SQL查询到,不存在定时的JOB执行。

  通过Tools-Sessions,发现存在较多数据库连接与访问,但较难定位到具体那个sql或表存在问题。

  于是,Kill了所有Session,CPU得到缓解,但根本原因未查到,隔几分钟又反复了。

过程总结

  造成CPU暴增的原因有很多,思路也有很多,后续如果遇到可以参考上述思路,精准定位到问题并进行优化。

到此,相信大家对“Oracle怎么排查CPU占用过高的排查”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI