iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >Oracle实例占用超高CPU排查
  • 236
分享到

Oracle实例占用超高CPU排查

Oracle实例占用超高CPU排查 2018-06-02 10:06:06 236人浏览 猪猪侠
摘要

CPU主要功能:处理指令、执行操作、要求进行动作、控制时间、处理数据。 结合数据库实例CPU占用高,可能的原因是数据库在执行大量的操作(全表查询、大量排序等)。 由于公司没有DBA,遇到数据库问题只能自己排查。 一、是否存在死锁

Oracle实例占用超高CPU排查

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

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

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

一、是否存在死

查询死锁以及解锁的语句参考下方:
  • 查看死锁ID
SELECT s.username,l.OBJECT_ID,l.SESSioN_ID,s.SERIAL#, l.oracle_USERNAME,l.OS_USER_NAME,l.PROCESS FROM V$LOCKED_OBJECT l,V$SESSION S WHERE l.SESSION_ID=S.SID;
  • 查看表名称
select b.owner,b.object_name,a.session_id,a.locked_mode  from v$locked_object a,dba_objects b  where b.object_id = a.object_id; 
  • 手工关闭死锁
alter system kill session ‘sid,serial#’; (其中sid=l.session_id)  通过查询死锁也发现了一些死锁,杀掉后CPU没有降下来,只能重新排查。

二、借助PLsql查询定时job和session

通过PL/SQL查询到,不存在定时的JOB执行。 通过Tools-Sessions,发现存在较多数据库连接与访问,但较难定位到具体那个sql或表存在问题。 于是,Kill了所有Session,CPU得到缓解,但根本原因未查到,隔几分钟又反复了。

三、查询数据库中的等待事件

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文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Oracle怎么排查CPU占用过高的排查
    本篇内容主要讲解“Oracle怎么排查CPU占用过高的排查”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Oracle怎么排查CPU占用过高的排查”吧!  CPU...
    99+
    2024-04-02
  • 【Java高CPU占用排查步骤】
    Linux环境下 当Java应用程序在Linux系统上的CPU使用率达到100%时,可能会导致系统响应变慢,甚至无响应,影响应用程序的正常运行。下面是排查Java应用程序CPU使用率高的步骤: 1、使用top命令查看Java进程的CPU使用...
    99+
    2023-08-16
    java
  • Java程序占用CPU过高排查
    使用 top 命令查看高CPU进程,执行命令后可以按 1 键查看各CPU 内核负载情况。CPU使用率主要看us、sy两个指标。 假设 10760 是一个高CPU的进程。 使用 top -H ...
    99+
    2023-09-22
    jvm jstack Powered by 金山文档
  • java 程序cpu占用过高排查
    1、top命令查看cpu占用最高程序 top 取得cpu占用最高的PID: 27791 2、判断java程序是直接运行在宿主机还是在容器中 方式一 cgroup cat /proc//cgroup 如果输出中包含有类似 /docker/...
    99+
    2023-09-20
    java
  • arthas排查jvm中CPU占用过高问题解决
    目录安装 小试找出CPU的元凶查看线程栈的参数安装 小试 记一次使用arthas排查jvm中CPU占用过高问题。这工具屌爆了 碾压我目前使用的全部JVM工具。 curl -O htt...
    99+
    2024-04-02
  • MySQL占用CPU过高,排查原因及解决方案
    目录一、mysql中的wait_timeout坑1、第一种修改方式 需重启MySQL(6.5为例)2、第二种修改方式 不需重启MySQL(数据库重启就失效)二、排查有没有地方占用SQL资源过多其中state的状态十分关键...
    99+
    2022-12-22
    MySQL占用CPU MySQL占用CPU过高 MySQL占用CPU原因
  • Linux下如何排查占用CPU很高的Java程序
    这篇文章主要为大家展示了“Linux下如何排查占用CPU很高的Java程序”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux下如何排查占用CPU很高的Java程序”这篇文章吧。jstack...
    99+
    2023-06-28
  • Linux系统CPU占用率较高问题排查思路
    作为工程师,在日常工作中我们会遇到 Linux服务器上出现CPU负载达到100%居高不下的情况,如果CPU 持续跑高,则会影响业务系统的正常运行,带来企业损失。 对于CPU过载问题通常使用以下两种方式即可快速定位: 方法一 第一步:使...
    99+
    2023-09-02
    linux 服务器 java Powered by 金山文档
  • oracle服务器的CPU占用率一直100%排查方式
    背景说明 公司开发、测试、演示环境,三个环境的oracle服务器无论服务器是否空闲, CPU的占用率一直是100%, 一直也没有找到问题原因,今天就花了一整天时间研究这个问题。 通过AWR报告查看or...
    99+
    2023-09-06
    oracle 服务器 数据库
  • Linux系统CPU占用率较高问题怎么进行排查
    本篇内容介绍了“Linux系统CPU占用率较高问题怎么进行排查”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!很多运维的同学遇到这种状况往往会...
    99+
    2023-06-16
  • mysql占用cpu超过100%怎么办?mysql占用cpu特别高的解决方法!
    前段时间我的一个网站经常打不开,通过检查发现服务器cpu占用超过100%;通过top命令发现是mysql占用cpu特别高导致的,于是优化了mysql语句,mysql升级到了mysql8最新版本等,但是并没有什么卵用。过几天有出现这种情况。甚...
    99+
    2023-10-18
    mysql 数据库
  • 排查CPU使用率高Lsass.exe问题
    Lsass.exe(Local Security Authority Subsystem Service)是Windows操作系统中...
    99+
    2023-09-08
    CPU
  • java 应用cpu飙升(超过100%)故障排查
    前言 害。。。 昨天刚写完一份关于jvm问题排查相关的博客,今天线上项目就遇到了一个突发问题。 现象是用户反映系统非常卡,无法操作。 然后登录服务器查看发现cpu 一直100%以上。 具体排查步骤: 1,首先top命令查看服...
    99+
    2023-08-31
    java jvm Powered by 金山文档
  • 排查WMI CPU使用率过高问题
    排查WMI CPU使用率过高问题的步骤如下:1. 确认问题:首先,确认系统的CPU使用率确实过高。可以通过任务管理器或性能监视器来查...
    99+
    2023-09-13
    CPU
  • NodeJs内存占用过高的排查实战记录
    前言 一次线上容器扩容引发的排查,虽然最后查出并不是真正的 OOM 引起的,但还是总结记录一下其中的排查过程,整个过程像是破案,一步步寻找蛛丝马迹,一步步验证出结果。 做这件事的意义...
    99+
    2024-04-02
  • NodeJs内存占用过高如何排查
    这篇文章给大家介绍NodeJs内存占用过高如何排查,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。问题起因最开始是因为一个定时功能上线后,线上的容器自动进行了扩容,由于 NodeJs 服务本身只有一些接口查询和 sock...
    99+
    2023-06-15
  • Linux系统内存占用过高排查方法
    以下以Ubuntu系统为例,内存占用过高可能是因为某个进程或程序占用了过多的内存,您可以按照以下步骤进行排查: 以上是一些基本的排查步骤,它们可以帮助您确定内存占用过高的原因,并采取相应的措施解决问题。 使用 top 命令查看系统当前...
    99+
    2023-09-12
    linux 运维 服务器
  • 排查解决Java进程占用内存过高
    排查解决Java进程占用内存过高 1 在项目部署运行之前1 检查JVM参数设置2 检查代码逻辑3 使用内存分析工具4 检查线程5 调整应用程序的设计7 调整硬件资源 2 在项目部署运行之后 JVM图片来源 1 在项目部署运...
    99+
    2023-08-24
    JVM JVM内存模型 Java GC Java JVM Java 内存分析
  • Linux系统CPU使用率过高的排查技巧
    本篇内容介绍了“Linux系统CPU使用率过高的排查技巧”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!下面,介绍几个 CPU 使用率过高的排...
    99+
    2023-06-16
  • Java进程内存占用过高,排查解决方法
    Java进程内存占用过高,排查解决方法 在Java应用程序开发过程中,我们经常会遇到Java进程占用内存过高的问题。这可能会导致系统性能下降、应用程序崩溃甚至无法启动。本文将介绍一些常见的排查和解决方...
    99+
    2023-10-20
    java 开发语言 Java
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作