我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Oracle %Cpu 100 us

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Oracle %Cpu 100 us

  昨天中秋节,本该是团圆的好日子,苦逼的运维我还要值班(哈哈,吐槽一下)本以为会没有啥事,谁知道比较重要的一台Oracle服务器突然报警,CPU 2个core都飙到100%,load average也比较高,如下图:

Oracle %Cpu 100 us


AWS CloudWatch也可以看出来CPU长期使用率100%

Oracle %Cpu 100 us


从图可得:系统us比较高,sy基本可以忽略,Memory和IO都已经检查过,不存在瓶颈,根据以往经验,极有可能是Oracle数据库有SQL在长时间运行,并且没有释放,登录到数据库查看,可以看到sid为410,408,404进程执行的都是同一个SQL,

SYS@xxxxxx>SELECT b.sid oracleID,
       b.username,
       b.serial#,
       spid,
       paddr,
       b.machine,
       c.sql_text
FROM v$process a, v$session b, v$sqlarea c
WHERE a.addr = b.paddr AND b.sql_hash_value = c.hash_value;
 
  ORACLEID USERNAME     SERIAL# SPID      PADDR       MACHINE
---------- ------------------------------ ---------- ------------------------ ---------------- ----------------------------------------------------------------
SQL_TEXT
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
       410 PRERNAP2 371 16743      00000002DEC84E60 Prernap2-mbr
with cte as(select distinct weekdate, week_month, week_year, SHIPTO, BUYERPARTNUMBER, dense_rank() over(partition by week_year,SHIPTO, BUYERPARTNUMBER, week_month order by weekdate) as rank_week FROM
(Select weekdate, to_char(weekdate, 'MM') as week_month,  to_char(weekdate, 'YYYY') as week_year, SHIPTO, BUYERPARTNUMBER from AUTO.ford_forecast_details  ) order by weekdate),  cte1 as (select foreca
stdate,forecast_month, forecast_year, shipto, buyerpartnumber from (select to_date(forecastdate, 'YYYYMMDD') as forecastdate, TO_CHAR(to_date(forecastdate, 'YYYYMMDD'), 'MM' ) as forecast_month,  TO_C
HAR(to_date(forecastdate, 'YYYYMMDD'), 'YYYY' ) as forecast_year,SHIPTO, BUYERPARTNUMBER from AUTO.ford_forecast_details  ) order by forecastdate ),  cte2 as (select cte.shipto, cte.buyerpartnumber,ct
e.week_month, cte.week_year, max(rank_week) as max_week  from cte group by cte.shipto, cte.buyerpartnumber,cte.week_month, cte.week_year),  cte4 as (select cte2.*, cte1.forecast_month, cte1.forecast_y
       408 PRERNAP21163 15129      00000002DEC916A0 Prernap2-mbr
with cte as(select distinct weekdate, week_month, week_year, SHIPTO, BUYERPARTNUMBER, dense_rank() over(partition by week_year,SHIPTO, BUYERPARTNUMBER, week_month order by weekdate) as rank_week FROM
(Select weekdate, to_char(weekdate, 'MM') as week_month,  to_char(weekdate, 'YYYY') as week_year, SHIPTO, BUYERPARTNUMBER from AUTO.ford_forecast_details  ) order by weekdate),  cte1 as (select foreca
stdate,forecast_month, forecast_year, shipto, buyerpartnumber from (select to_date(forecastdate, 'YYYYMMDD') as forecastdate, TO_CHAR(to_date(forecastdate, 'YYYYMMDD'), 'MM' ) as forecast_month,  TO_C
HAR(to_date(forecastdate, 'YYYYMMDD'), 'YYYY' ) as forecast_year,SHIPTO, BUYERPARTNUMBER from AUTO.ford_forecast_details  ) order by forecastdate ),  cte2 as (select cte.shipto, cte.buyerpartnumber,ct
e.week_month, cte.week_year, max(rank_week) as max_week  from cte group by cte.shipto, cte.buyerpartnumber,cte.week_month, cte.week_year),  cte4 as (select cte2.*, cte1.forecast_month, cte1.forecast_y
18 PRERNAP2 311 19710      00000002DEC948B0 Prernap2-mbr
with cte as(select distinct weekdate, week_month, week_year, SHIPTO, BUYERPARTNUMBER, dense_rank() over(partition by week_year,SHIPTO, BUYERPARTNUMBER, week_month order by weekdate) as rank_week FROM
(Select weekdate, to_char(weekdate, 'MM') as week_month,  to_char(weekdate, 'YYYY') as week_year, SHIPTO, BUYERPARTNUMBER from AUTO.ford_forecast_details  ) order by weekdate),  cte1 as (select foreca
stdate,forecast_month, forecast_year, shipto, buyerpartnumber from (select to_date(forecastdate, 'YYYYMMDD') as forecastdate, TO_CHAR(to_date(forecastdate, 'YYYYMMDD'), 'MM' ) as forecast_month,  TO_C
HAR(to_date(forecastdate, 'YYYYMMDD'), 'YYYY' ) as forecast_year,SHIPTO, BUYERPARTNUMBER from AUTO.ford_forecast_details  ) order by forecastdate ),  cte2 as (select cte.shipto, cte.buyerpartnumber,ct
e.week_month, cte.week_year, max(rank_week) as max_week  from cte group by cte.shipto, cte.buyerpartnumber,cte.week_month, cte.week_year),  cte4 as (select cte2.*, cte1.forecast_month, cte1.forecast_y
       404 PRERNAP2 665 21911      00000002DEC95960 Prernap2-mbr
with cte as( select distinct weekdate, week_month, week_year, SHIPTO, BUYERPARTNUMBER, dense_rank() over(partition by week_year,SHIPTO, BUYERPARTNUMBER, week_month order by weekdate) as rank_week FROM
 (Select weekdate, to_char(weekdate, 'MM') as week_month,  to_char(weekdate, 'YYYY') as week_year, SHIPTO, BUYERPARTNUMBER from AUTO.ford_forecast_details  ) order by weekdate ),  cte1 as ( select for
ecastdate,forecast_month, forecast_year, shipto, buyerpartnumber from (select to_date(forecastdate, 'YYYYMMDD') as forecastdate, TO_CHAR(to_date(forecastdate, 'YYYYMMDD'), 'MM' ) as forecast_month,  T
O_CHAR(to_date(forecastdate, 'YYYYMMDD'), 'YYYY' ) as forecast_year,SHIPTO, BUYERPARTNUMBER from AUTO.ford_forecast_details  ) order by forecastdate ),  cte2 as ( select cte.shipto, cte.buyerpartnumbe
r,cte.week_month, cte.week_year, max(rank_week) as max_week ,  cte1.forecast_month, cte1.forecast_year from cte inner join cte1 on cte1.forecast_year>=cte.week_year  and cte.shipto = cte1.shipto and c
22 SYS 447 23888      00000002DEC96A10 ec2-admart-01
SELECT b.sid oracleID,      b.username, b.serial#,   spid,paddr,      b.machine,c.sql_text FROM v$process a, v$session b, v$sqlarea c WHERE a.addr = b.paddrAND b.sq
l_hash_value = c.hash_value
       387 PRERNAP2 313 24261      00000002DEC97AC0 Prernap2-mbr
with cte as( select distinct weekdate, week_month, week_year, SHIPTO, BUYERPARTNUMBER, dense_rank() over(partition by week_year,SHIPTO, BUYERPARTNUMBER, week_month order by weekdate) as rank_week FROM
 (Select weekdate, to_char(weekdate, 'MM') as week_month,  to_char(weekdate, 'YYYY') as week_year, SHIPTO, BUYERPARTNUMBER from AUTO.ford_forecast_details  ) order by weekdate ),  cte1 as ( select for
ecastdate,forecast_month, forecast_year, shipto, buyerpartnumber from (select to_date(forecastdate, 'YYYYMMDD') as forecastdate, TO_CHAR(to_date(forecastdate, 'YYYYMMDD'), 'MM' ) as forecast_month,  T
O_CHAR(to_date(forecastdate, 'YYYYMMDD'), 'YYYY' ) as forecast_year,SHIPTO, BUYERPARTNUMBER from AUTO.ford_forecast_details  ) order by forecastdate ),  cte2 as ( select cte.shipto, cte.buyerpartnumbe
r,cte.week_month, cte.week_year, max(rank_week) as max_week ,  cte1.forecast_month, cte1.forecast_year from cte inner join cte1 on cte1.forecast_year>=cte.week_year  and cte.shipto = cte1.shipto and c
6 rows selected.


SYS@xxxxxx>select b.sid,b.serial#,b.machine,b.terminal,b.program,b.process,b.status
from v$lock a, v$session b where a.SID = b.SID and username is not null and username not in ('SYS','SYSTEM');

       SID    SERIAL# MACHINE							       TERMINAL 		      PROGRAM					       PROCESS			STATUS
---------- ---------- ---------------------------------------------------------------- ------------------------------ ------------------------------------------------ ------------------------ --------
       387	  313 Prernap2-mbr						       unknown			      SQL Developer				       6246			ACTIVE
       387	  313 Prernap2-mbr						       unknown			      SQL Developer				       6246			ACTIVE
       404	  665 Prernap2-mbr						       unknown			      SQL Developer				       4145			ACTIVE
       387	  313 Prernap2-mbr						       unknown			      SQL Developer				       6246			ACTIVE
       387	  313 Prernap2-mbr						       unknown			      SQL Developer				       6246			ACTIVE
       408	 1163 Prernap2-mbr						       unknown			      SQL Developer				       3377			ACTIVE
       387	  313 Prernap2-mbr						       unknown			      SQL Developer				       6246			ACTIVE
       387	  313 Prernap2-mbr						       unknown			      SQL Developer				       6246			ACTIVE
       404	  665 Prernap2-mbr						       unknown			      SQL Developer				       4145			ACTIVE
       408	 1163 Prernap2-mbr						       unknown			      SQL Developer				       3377			ACTIVE
       410	  371 Prernap2-mbr						       unknown			      SQL Developer				       5691			ACTIVE
	18	  311 Prernap2-mbr						       unknown			      SQL Developer				       1497			ACTIVE
	20	  221 Prernap2-mbr						       unknown			      SQL Developer				       4689			ACTIVE
	20	  221 Prernap2-mbr						       unknown			      SQL Developer				       4689			ACTIVE
       387	  313 Prernap2-mbr						       unknown			      SQL Developer				       6246			ACTIVE

15 rows selected.

SYS@xxxxxx>select sid, username, blocking_session from v$session where blocking_session is not null;

       SID USERNAME			  BLOCKING_SESSION
---------- ------------------------------ ----------------
	18 PRERNAP2				       408
       387 PRERNAP2				       404
       410 PRERNAP2				       408

SYS@xxxxxx>select sid, serial#, username from v$session where sid='410';

       SID    SERIAL# USERNAME
---------- ---------- ------------------------------
       410	  371 PRERNAP2


解决方法

找到开发人员,询问原因,得到的反馈是在测试几条SQL(我擦,竟然在生产环境测试SQL,哎,一点敬畏之心都没有,可怕!)

kill掉blocked的进程,释放资源,再这么跑下去,系统随时可能崩溃,最后去优化一下的SQL,再去执行

alter system kill session '410,371';

......其他几个进程同理干掉即可



免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Oracle %Cpu 100 us

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

mysql cpu 占用100%

https://blog.csdn.net/u011239989/article/details/72863333 expain ref:表示查询所使用的访问类型,type的值主要有八种,该值表示查询的sql语句好坏,从最好到最差依次为:system>cons

	mysql cpu 占用100%
2015-04-07

cpu使用率100怎么办

当CPU使用率达到100%时,表示CPU正在全力运行,无法再处理其他任务。以下是一些可能的解决方法:1. 关闭或退出一些正在运行的程序,特别是那些消耗大量CPU资源的程序。可以通过任务管理器(在Windows系统中按Ctrl+Shift+E
2023-08-24

云服务器cpu使用率100

云服务器的CPU使用率100,这通常是指服务器中所有计算资源的使用率都非常高,这会导致服务器处理请求的速度慢,性能下降,因此可能会有很多资源闲置等待处理。为了解决这个问题,可以在服务器上部署一些负载均衡器或者采用一些缓存技术来提升云服务器的性能和响应时间。另外,可以使用一些工具和技术来帮助提升服务器资源的利用率,例如使用虚拟化技术来管理服务器资源,使用分布式文件系统来提高数据处理的效率等。需
2023-10-26

电脑cpu使用率100怎么办

当电脑的CPU使用率达到100%时,可能会导致电脑运行缓慢甚至出现卡顿情况。以下是一些可能的解决方法:1. 关闭不必要的程序:打开任务管理器,查看哪些程序占用了大量的CPU资源,尝试关闭这些程序或者重启电脑。2. 更新驱动程序:有时候过期的
2023-08-23

win7 cpu使用率100如何解决

本文小编为大家详细介绍“win7 cpu使用率100如何解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“win7 cpu使用率100如何解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。win7cpu使用率1
2023-07-02

win10系统cpu占用100%解决方法

随着win10预览版的发布,越来越多的用户都安装上了win10系统,体验winandroid10系统的强大之处。不过有些用户在使用的过程中,却发现CPU的占用率很高,严重影响了系统的运行速度。那么,win10javascript系统CPU使
2023-05-20

win10系统cpu占用100%怎么解决

这篇文章主要介绍“win10系统cpu占用100%怎么解决”,在日常操作中,相信很多人在win10系统cpu占用100%怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”win10系统cpu占用100%怎
2023-07-01

电脑cpu使用率100%如何解决

当电脑的CPU使用率达到100%,可能会导致电脑变慢、发热、噪音变大等问题。以下是一些解决方法:1. 关闭不必要的程序:打开任务管理器,查看哪些程序占用了大量的CPU资源,关闭这些程序。2. 更新或卸载问题程序:如果某个程序一直占用大量的C
2023-10-10

轻量应用服务器cpu占用100%

如果您的应用服务器使用较小的CPU和内存,那么您可能会遇到轻量应用服务器处理器占用100%的情况。这种情况可能是因为以下原因:硬件故障:如果应用服务器运行时间过长并且硬件出现故障,那么可能会导致处理器的100%占用。这种情况下,建议联系您的应用服务器供应商,以查找硬件或软件故障。软件问题:如果您的应用服务器由于软件故障而出现性能问题,那么处理器的100%占用可能会导致轻量应用服务器出现性能问题。这
2023-10-25

电脑cpu突然占用100%如何解决

电脑CPU占用100%可能是由于以下原因导致的:1. 被恶意软件感染:恶意软件可能会占用大量的CPU资源。使用安全软件进行全面扫描,删除或隔离检测到的恶意软件。2. 运行过多的程序:关闭不必要的程序或任务,以释放CPU资源。可以使用任务管理
2023-09-06

解决winXP中CPU占用率100%的方法

CPU占用率高的九种可能 1、防杀毒软件造成故障 由于新版的KV、金山、瑞星都加入了对网页、插件、邮件的随机监控,无疑增大了系统负担。处理方式:基本上没有合理的处理方式,尽量使用最少javascript的监控服务吧,或者,升级你的硬件配
2023-05-23

云服务器cpu使用率100怎么办

如果您的云服务器使用率高并且超过100,可以尝试以下几种方法来处理:检查云服务器的CPU资源:如果您的计算资源较少或不足,则可能需要重新分配资源。您可以尝试减少使用的应用程序,或者增加服务器上的CPU数量。检查云服务器的连接:如果您需要使用云服务器来完成一些任务,但有些应用程序没有被正确连接,则可能需要检查云服务器的连接,以确保正确的连接状态。调整应用程序的优先级:如果您的应用程序有很多用户或数据要处理,您可能...
2023-10-27

xp系统cpu使用率100%怎么处理

本篇内容介绍了“xp系统cpu使用率100%怎么处理”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、杀毒软件造成金山和瑞星之类杀毒软件都加
2023-06-28

MySQL数据库CPU飙升到100%解决方案

1、定位cpu问题所在 当cpu飙升到100%时,先用操作系统命令top命令观察是不是mysqld占用导致的,如果不是,找出占用高的进程,并进行相关处理。 2、查看慢查询日志 进入mysql命令行 mysql -h主机地址 -u用户名 -p
2023-08-16

Java多线程导致CPU占用100%怎么办

这篇文章给大家分享的是有关Java多线程导致CPU占用100%怎么办的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。简介情景:1000万表数据导入内存数据库,按分页大小10000查询,多线程,15条线程跑。使用了E
2023-06-15

编程热搜

目录