大量會話出現resmgr:become active等待
在一個客戶環境的資料庫上發現這個問題。
當時客戶求助,資料庫狀態不正常,連線到資料庫無法正常操作,而且有時報錯ORA-12537錯誤。
ORA-12537: TNS:connection closed
Cause: "End of file" condition has been reached; partner has disconnected.
Action: None needed; this is an information message.
導致這個錯誤的原因有很多,不好確定問題的原因,於是透過遠端登陸資料庫檢查系統狀態:
SQL> select count(*) from v$session;
COUNT(*)
----------
996
SQL> select event, count(*) from v$session group by event having count(*) > 10 order by 2 desc ;
EVENT COUNT(*)
------------------------- ----------
resmgr:become active 968
rdbms ipc message 12
資料庫中會話數接近1000,而根據客戶描述,正常情況下,連線數不到100。更奇怪的是,幾乎所有的會話都在等待resmgr:become active這個事件。
根據事件名稱就可以知道,這是一個資源管理區相關的等待事件,查詢了一下metalink,發現如果系統資源管理區設定為INTERNAL_QUIESCE的狀態,則所有SYS和SYSTEM以外的使用者將處於這個等待事件,而無法進行任何的操作。Metalink文件ID 396970.1描述了這個現象。
但是,當前有幾點和問題描述有所區別。首先,一般在進入WEEKNIGHT_WINDOW 或WEEKEND_WINDOW視窗可能導致這個現象,而使用者出現問題時是下午,因此排除了切換視窗導致資源管理器設定為INTERNAL_QUIESCE的可能性。第二,當發現等待事件為resmgr:become active後,當時就查詢了v$rsrc_plan檢視,結果為空,說明當前系統並沒有設定資源管理策略。
雖然問題的原因並不一定是切換視窗導致的資源管理器設定了資源策略,但是問題顯然和資源管理器有直接的關係。Eygle以前也碰到過類似的現象,根據他的推測,可能是由於連線使用者數過多,從而超過了Oracle內部的某個閾值,導致Oracle自動啟用了資源管理策略。
雖然問題的真正原因還不是很清楚,不過解決這個問題並不複雜,雖然使用者預設resource_manager_plan引數為空,但是Oracle內部仍然可能自動使用資源管理器,因此可以透過隱含引數來禁止資源管理器的啟動:
設定初始化引數"_resource_manager_always_on"=false後,重啟資料庫,這個問題沒有再出現。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-682584/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- resmgr:become active 等待事件分析事件
- 等待事件:regmsr:become active事件
- Windows下大量SYSMAN會話超出會話限制Windows會話
- oracle遭遇大量SNIPED會話Oracle會話
- 會話等待(Session Waits)會話SessionAI
- 11g rac 等待事件resmgr:cpu quantum事件
- 關於resmgr:cpu quantum異常等待處理
- active會話不斷增多案例處理會話
- 啟動資料庫後,等待事件出現大量wait for undo record資料庫事件AI
- oracle 11.1.0.6 版本中的resmgr:cpu quantum 等待事件Oracle事件
- 更改SERVICE_NAME導致大量會話被KILL會話
- 【故障】cursor: pin S wait on X等待事件大量出現AI事件
- 異常等待事件Resmgr:Cpu Quantum導致CPU利用率高事件
- tempdb大量閂鎖等待問題分析
- 檢視歷史會話等待事件對應的session資訊會話事件Session
- oracledebug hanganalyze分析會話等待及儲存過程hangOracle會話儲存過程
- 遭遇cursor:pin x等待事件定位阻塞會話診斷過程事件會話
- 大量insert引起的enq: HW - contention等待ENQ
- MySQL: kill 會話的實現原理MySql會話
- 使用Redis實現分散式會話Redis分散式會話
- 基於oracle11g生成systemstate dump檔案分析持鎖會話有等待鎖會話及閂latch之系列三Oracle會話
- 關於netbackup恢復出現media server is not active 問題Server
- QT 等待對話方塊/進度QT
- 密碼延遲驗出現大量library cache lock密碼
- session會話的底層實現方式Session會話
- [20191203]大量resmgrcpu quantum等待事件.txt事件
- shutdown immediate alert出現SHUTDOWN: waiting for active calls to complete.AI
- 客戶資料庫出現大量cache buffer chains latch資料庫AI
- Mysql DDL出現長時間等待MDL問題分析MySql
- 『與善仁』Appium基礎 — 24、等待activity出現APP
- 資料庫出現很高的enq: DX - contention 等待資料庫ENQ
- 亞馬遜:1Q21財報電話會議實錄 對上門配送進行了大量投資亞馬遜
- 會話管理會話
- Session會話Session會話
- 物化檢視日誌(materialized view log)引起大量Dfs Lock Handle等待ZedView
- 從dba_hist_active_sess_history裡尋找session間的等待關係Session
- 處理MySQL資料庫出現大量Locked的一個案例MySql資料庫
- 白糖 近期等待空單機會