中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Oracle %Cpu 100 us

發布時間:2020-06-27 14:29:47 來源:網絡 閱讀:1151 作者:Darren_Chen 欄目:關系型數據庫

  昨天中秋節,本該是團圓的好日子,苦逼的運維我還要值班(哈哈,吐槽一下)本以為會沒有啥事,誰知道比較重要的一臺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';

......其他幾個進程同理干掉即可



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

天全县| 彭阳县| 陵川县| 比如县| 崇左市| 定安县| 广宁县| 高青县| 武川县| 县级市| 松原市| 桑植县| 广平县| 沂源县| 会宁县| 武宁县| 武鸣县| 西乌| 迭部县| 漠河县| 淄博市| 黑河市| 台南县| 乾安县| 合肥市| 秦安县| 富平县| 玉门市| 于都县| 灵台县| 麦盖提县| 芷江| 吉安县| 襄汾县| 册亨县| 宜章县| 五常市| 云南省| 桐城市| 大英县| 武山县|