oracle导致的负载高,Oracle 11g CPU负载很高紧急处理【负载100%】
\\ 查詢負載很高前35個進程
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head -35
\\ 查詢前35負載高的sPID
ps aux|grep -v PID|sort -rn -k +3|head -35|awk ‘{print$2}‘
\\ 把得到的spid替換進來(!!!注意不要少了逗號和分號!!!)
select sql_id from v$session
where paddr in(
select addr from v$process
where spid in(
‘30907‘,
‘31801‘,
‘31463‘,
‘31150‘,
‘32289‘,
‘31895‘,
‘590‘,
‘31952‘,
‘611‘,
‘32152‘,
‘661‘,
‘32542‘,
‘32203‘,
‘2019‘,
‘2215‘
)
)
查詢結果顯示,sql_id為?fm0738ywgbyxk?出現很多(異常sql_id)
---注:請替換成您實際的sql_id
---注:請替換成您實際的sql_id
---注:請替換成您實際的sql_id
---fm0738ywgbyxk
---12個進程
SELECT sid,serial#,sql_id from v$session where sql_id in ( ‘fm0738ywgbyxk‘);SELECT count(*) from v$session where sql_id in ( ‘fm0738ywgbyxk‘ );
---隨機抽一條,查看一下具體是執行的啥內容
select sql_text from v$sqlarea a,v$session b where a.SQL_ID=b.PREV_SQL_ID and b.SID=‘291‘;
select c.SCHOOL_ID WAREHOUSE_ID, count( ARCHIVE_ID) SIGN,c.BUSINESS_TYPE from TB_CONTRACT c,FES_STAFF_ARCHIVE st where c.state!=2000 and st.id=c.ARCHIVE_ID and c.PAY_DATE between to_date(‘2020-02-01 00:00:00‘,‘yyyy-MM-dd HH24:MI:SS‘) and to_date(‘2020-04-27 23:59:59‘,‘yyyy-MM-dd HH24:MI:SS‘) and c.BUSINESS_TYPE in (17,21) group by c.SCHOOL_ID ,c.BUSINESS_TYPE
--- 生成kill語句
SELECT
‘alter system kill session‘‘‘ || SID || ‘,‘ || serial# || ‘‘‘;‘
FROMv$sessionWHEREsql_idIN (‘fm0738ywgbyxk‘);
--- 執行生成的kill語句,如下:
alter system kill session ‘291,42431‘;alter system kill session ‘483,24520‘;alter system kill session ‘667,23176‘;alter system kill session ‘768,57609‘;alter system kill session ‘861,65267‘;alter system kill session ‘1243,1739‘;alter system kill session ‘1335,44615‘;alter system kill session ‘1522,31640‘;alter system kill session ‘1622,30425‘;alter system kill session ‘1716,7696‘;alter system kill session ‘1808,44494‘;alter system kill session ‘2096,58865‘;
原文:https://www.cnblogs.com/eos666/p/12794084.html
總結
以上是生活随笔為你收集整理的oracle导致的负载高,Oracle 11g CPU负载很高紧急处理【负载100%】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 变频电源面板上的英文按钮和显示都是什么意
- 下一篇: 基于物联网技术的工程、地质自动化安全监测