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

开发技术 作者:chen 2024-03-29 10:45:01
本篇内容主要讲解“Oracle怎么排查CPU占用过高的排查”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Oracle怎...

本篇内容主要讲解“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占用过高的排查”有了更深的了解,不妨来实际操作一番吧!这里是捷杰建站网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

原创声明
本站部分文章基于互联网的整理,我们会把真正“有用/优质”的文章整理提供给各位开发者。本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
本文链接:http://www.jiecseo.com/news/show_1936.html
oracle