一次客戶資料庫CPU 100%處理過程
6月4日上午接到同事電話,客戶資料庫CPU使用率達到100%,已經不能進行正常業務。
連線到資料庫,首先建立了一個snapshot,產生了一個AWR報告。
因為緊急,所以,同事要求重啟資料庫。於是重啟資料庫,並關閉了應用的某些功能(如離線銷售資料同步)。大概幾分鐘之後,資料庫恢復正常。
AWR報告dbtime異常
進一步檢視AWR報告,發現如下異常等待事件
還有如下SQL
看起來像是TOP SQL引起的問題。但是覺得有點奇怪,這些SQL在平時執行都是極快的。
稍後,一個新的等待事件引起了我的注意:
resmgr:cpu quantum
實際上平時是根本沒有這種等待事件的。於是谷歌之。
http://www.lunar2013.com/2015/04/%E4%B8%80%E6%AC%A1%E6%95%B0%E6%8D%AE%E5%BA%93%E9%97%AE%E9%A2%98%E5%A4%84%E7%90%86%EF%BC%8811g%E8%87%AA%E5%8A%A8%E7%BB%B4%E6%8A%A4%E4%BB%BB%E5%8A%A1%EF%BC%8Clog-file-sync%EF%BC%89.html
http://www.killdb.com/2011/11/21/resmgrcpu-quantum-led-to-performance-problems.html
http://www.askmaclean.com/archives/resmgr-cpu-quantum%E7%AD%89%E5%BE%85%E4%BA%8B%E4%BB%B6.html
由於資料庫版本11.2.0.1.0與這個resource manager plan的bug描述相吻合,所以懷疑是由於bug引起的high cpu, 而CPU資源的不足又引起了其他的等待,加劇了內部共享資源爭用。
但是隻是猜測,因為並沒有metalink賬號,所以沒有辦法進一步調查。
使用以下指令碼關閉了default resource plan:
參考:
http://www.lunar2013.com/2015/04/%E4%B8%80%E6%AC%A1%E6%95%B0%E6%8D%AE%E5%BA%93%E9%97%AE%E9%A2%98%E5%A4%84%E7%90%86%EF%BC%8811g%E8%87%AA%E5%8A%A8%E7%BB%B4%E6%8A%A4%E4%BB%BB%E5%8A%A1%EF%BC%8Clog-file-sync%EF%BC%89.html
連線到資料庫,首先建立了一個snapshot,產生了一個AWR報告。
因為緊急,所以,同事要求重啟資料庫。於是重啟資料庫,並關閉了應用的某些功能(如離線銷售資料同步)。大概幾分鐘之後,資料庫恢復正常。
AWR報告dbtime異常
進一步檢視AWR報告,發現如下異常等待事件
還有如下SQL
看起來像是TOP SQL引起的問題。但是覺得有點奇怪,這些SQL在平時執行都是極快的。
稍後,一個新的等待事件引起了我的注意:
resmgr:cpu quantum
實際上平時是根本沒有這種等待事件的。於是谷歌之。
http://www.lunar2013.com/2015/04/%E4%B8%80%E6%AC%A1%E6%95%B0%E6%8D%AE%E5%BA%93%E9%97%AE%E9%A2%98%E5%A4%84%E7%90%86%EF%BC%8811g%E8%87%AA%E5%8A%A8%E7%BB%B4%E6%8A%A4%E4%BB%BB%E5%8A%A1%EF%BC%8Clog-file-sync%EF%BC%89.html
http://www.killdb.com/2011/11/21/resmgrcpu-quantum-led-to-performance-problems.html
http://www.askmaclean.com/archives/resmgr-cpu-quantum%E7%AD%89%E5%BE%85%E4%BA%8B%E4%BB%B6.html
由於資料庫版本11.2.0.1.0與這個resource manager plan的bug描述相吻合,所以懷疑是由於bug引起的high cpu, 而CPU資源的不足又引起了其他的等待,加劇了內部共享資源爭用。
但是隻是猜測,因為並沒有metalink賬號,所以沒有辦法進一步調查。
使用以下指令碼關閉了default resource plan:
exec dbms_scheduler.disable( 'ORACLE_OCM.MGMT_CONFIG_JOB' );
exec dbms_scheduler.disable( 'ORACLE_OCM.MGMT_STATS_CONFIG_JOB' );
BEGIN
DBMS_AUTO_TASK_ADMIN.DISABLE(
client_name => 'auto space advisor',
operation => NULL,
window_name => NULL);
END;
BEGIN
DBMS_AUTO_TASK_ADMIN.DISABLE(
client_name => 'sql tuning advisor',
operation => NULL,
window_name => NULL);
END;
/
alter system set resource_manager_plan='' scope=both;
execute dbms_scheduler.set_attribute('WEEKNIGHT_WINDOW','RESOURCE_PLAN','');
execute dbms_scheduler.set_attribute('WEEKEND_WINDOW','RESOURCE_PLAN','');
execute dbms_scheduler.set_attribute('MONDAY_WINDOW','RESOURCE_PLAN','');
execute dbms_scheduler.set_attribute('TUESDAY_WINDOW','RESOURCE_PLAN','');
execute dbms_scheduler.set_attribute('WEDNESDAY_WINDOW','RESOURCE_PLAN','');
execute dbms_scheduler.set_attribute('THURSDAY_WINDOW','RESOURCE_PLAN','');
execute dbms_scheduler.set_attribute('FRIDAY_WINDOW','RESOURCE_PLAN','');
execute dbms_scheduler.set_attribute('SATURDAY_WINDOW','RESOURCE_PLAN','');
execute dbms_scheduler.set_attribute('SUNDAY_WINDOW','RESOURCE_PLAN','');
雖然可能是bug引起的,但是系統存在硬解析過多,存在對資料字典的不合理訪問等問題,需要進一步跟蹤。
exec dbms_scheduler.disable( 'ORACLE_OCM.MGMT_STATS_CONFIG_JOB' );
BEGIN
DBMS_AUTO_TASK_ADMIN.DISABLE(
client_name => 'auto space advisor',
operation => NULL,
window_name => NULL);
END;
BEGIN
DBMS_AUTO_TASK_ADMIN.DISABLE(
client_name => 'sql tuning advisor',
operation => NULL,
window_name => NULL);
END;
/
alter system set resource_manager_plan='' scope=both;
execute dbms_scheduler.set_attribute('WEEKNIGHT_WINDOW','RESOURCE_PLAN','');
execute dbms_scheduler.set_attribute('WEEKEND_WINDOW','RESOURCE_PLAN','');
execute dbms_scheduler.set_attribute('MONDAY_WINDOW','RESOURCE_PLAN','');
execute dbms_scheduler.set_attribute('TUESDAY_WINDOW','RESOURCE_PLAN','');
execute dbms_scheduler.set_attribute('WEDNESDAY_WINDOW','RESOURCE_PLAN','');
execute dbms_scheduler.set_attribute('THURSDAY_WINDOW','RESOURCE_PLAN','');
execute dbms_scheduler.set_attribute('FRIDAY_WINDOW','RESOURCE_PLAN','');
execute dbms_scheduler.set_attribute('SATURDAY_WINDOW','RESOURCE_PLAN','');
execute dbms_scheduler.set_attribute('SUNDAY_WINDOW','RESOURCE_PLAN','');
雖然可能是bug引起的,但是系統存在硬解析過多,存在對資料字典的不合理訪問等問題,需要進一步跟蹤。
參考:
http://www.lunar2013.com/2015/04/%E4%B8%80%E6%AC%A1%E6%95%B0%E6%8D%AE%E5%BA%93%E9%97%AE%E9%A2%98%E5%A4%84%E7%90%86%EF%BC%8811g%E8%87%AA%E5%8A%A8%E7%BB%B4%E6%8A%A4%E4%BB%BB%E5%8A%A1%EF%BC%8Clog-file-sync%EF%BC%89.html
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8520577/viewspace-2113998/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 記一次資料庫高CPU佔用率處理過程資料庫
- 一次客戶資料庫恢復的過程資料庫
- 記一次線上服務CPU 100%的處理過程
- 一次客戶資料庫恢復的過程 [轉]資料庫
- 一次資料庫異常的處理過程資料庫
- ORACLE資料庫壞塊的處理 (一次壞快處理過程)Oracle資料庫
- nginx 處理客戶端請求的完整過程Nginx客戶端
- 資料庫變慢的處理過程資料庫
- 記錄一次資料庫CPU被打滿的排查過程資料庫
- 記一次客戶DB CPU短時間內衝高至99%處理
- 資料庫cpu高處理一則資料庫
- 【故障處理】一次RAC故障處理過程
- 一次資料庫HANG處理資料庫
- 記一次客戶oracle資料庫崩潰Oracle資料庫
- 開會時CPU 飆升100%同事們都手忙腳亂記一次應急處理過程
- 一次資料庫hang的處理資料庫
- 資料庫的一次資料恢復過程資料庫資料恢復
- 一次Oracle資料庫恢復過程Oracle資料庫
- 大資料處理過程是怎樣大資料
- MySQL資料庫INNODB表損壞修復處理過程分享MySql資料庫
- 一次壞塊的處理過程(一)
- 一次壞塊的處理過程(二)
- 記一次ceph pg unfound處理過程
- 一次壞塊的處理過程 [轉]
- 一次ORACLE資料庫undo壞塊處理Oracle資料庫
- 一次OWB資料庫效能問題處理資料庫
- WCDMA測試庫故障處理過程
- 一次併發處理過程, 基於 RedisRedis
- 記一次PMML檔案的處理過程
- 一次線上問題處理過程記錄
- 一次Row Cache Lock問題處理過程
- 一次資料庫硬解析的分析全過程資料庫
- 同事處理異常斷電資料庫狀態變為SUSPECT過程資料庫
- 大資料的處理是怎樣的過程大資料
- jquery的ajax傳遞資料過程中的資料處理jQuery
- 記一次開啟資料庫慢原因分析過程資料庫
- 一次使用duplicate建立測試資料庫的過程資料庫
- 對客戶又是供應商的客戶清賬處理