本篇内容主要讲解“Oracle怎么排查CPU占用过高的排查”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Oracle怎么排查CPU占用过高的排查”吧!
元谋网站制作公司哪家好,找成都创新互联!从网页设计、网站建设、微信开发、APP开发、响应式网站等网站项目制作,到程序开发,运营维护。成都创新互联2013年至今到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联。
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占用过高的排查”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!