【ASK_ORACLE】Row Cache Enqueue鎖之概念篇
一、何為 Row Cache Enqueue 鎖?
行快取(Row Cache)或資料字典快取(Data Dictionary Cache)是儲存資料字典資訊的共享池的記憶體區域。 row cache 儲存資料時並不是以資料塊的形式,而是以行的形式。row cache enqueue 鎖是在資料字典行的鎖。此 enqueue 是關於特定資料字典物件的。這就是所謂的 enqueue 型別,可以在檢視 V$rowcache 中找到。
官方給出的獲取該鎖資訊的指令碼:
set pages 1000 column cache# format 99999 column name format a33 column latch# format 999999 select distinct s.kqrstcln latch#,r.cache#,r.parameter name,r.type,r.subordinate# from v$rowcache r,x$kqrst s where r.cache#=s.kqrstcid order by 1,4,5;
二、"WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK!" 警告資訊是什麼意思?
當試圖去獲得 row cache 鎖時,這種等待事件將被使用。
當 row cache 衝突發生時,如果不能在一個預定的時間週期內得到 enqueue,將在user_dump_dest 或 background_dump_dest 目錄下生成一個跟蹤檔案(
這兩個目錄的選擇取決於是使用者還是後臺程式建立的跟蹤檔案。alert.log 通常會相應的更新警告訊息和跟蹤檔案的位置)。
資料庫檢測到核心資源被持有太久並通知DBA,從而讓這種情況可以得到解決。這也可能使資料庫掛起或變慢alert.log 的訊息和生成的跟蹤檔案包含以下資訊:
> WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK! <<<
如果不能立即獲取 rowcache entry 鎖,那麼進入一個迴圈,先釋放 row cache 物件閂鎖,等待上述等待事件,重新獲得閂鎖,然後再次嘗試獲取 rowcache 鎖。在單例項模式,會重複 1000次直到程式報錯“WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK”。在 RAC 環境會一直重複,直到不能獲得例項鎖或者被中斷。
Systemstate dump 可以提供一些有用的資訊診斷爭用的原因。
注:
The "WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK!" 當達到閾值會引發這個訊息,因此, 如果未達到閾值它不會被引發。由此可知,對於不太嚴重的問題,即使具有相同的原因,也可以不輸出該訊息。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69992972/viewspace-2952681/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【ASK_ORACLE】Library Cache概念篇(二)之Library Cache Pin的定義Oracle
- WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK!AIENQ
- 故障排除:"WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK! "AIENQ
- WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK!的分析AIENQ
- 一次WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCKAIENQ
- Metlink:Troubleshooting:WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK!AIENQ
- WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK! 與 dc_tablespcesAIENQ
- 通過system state dump分析WAITED TOO LONG FOR A ROW CACHE ENQUEUEAIENQ
- WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK-[ID 278316.1]AIENQ
- 等待事件之Row Cache Lock事件
- 翻譯metalink關於WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK文章AIENQ
- How to Match a Row Cache Object Child Latch to its Row CacheObject
- Metlink:How to Match a Row Cache Object Child Latch to its Row CacheObject
- row cache objects latch研究Object
- Enqueue 鎖定機制ENQ
- Latch: Row Cache Objects (One bug?)Object
- 確定enqueue鎖型別ENQ型別
- hanganalyze解決row cache lock(ZT)
- oracle 'row cache objects' 等待事件解釋OracleObject事件
- [ORACLE 11G]ROW CACHE LOCK 等待Oracle
- Statspack之十三-EnqueueENQ
- 精通MySQL之鎖篇MySql
- ORA-600(504)(row cache objects)錯誤Object
- 轉)用hanganalyze解決row cache lock
- (轉)用hanganalyze解決row cache lock
- 【ASK_ORACLE】資料泵由於”Streams AQ: Enqueue Blocked On Low Memory" 問題變慢OracleENQBloC
- ORACLE Active dataguard 一個latch: row cache objects BUGOracleObject
- 轉貼_用hanganalyze解決row cache lock
- 用hanganalyze解決row cache lock(轉貼)
- mutex,latch,lock,enqueue hash chains latch基礎概念MutexENQAI
- WAITEVENT: "row cache lock" Reference Note (文件 ID 34609.1)AI
- 由row cache lock等待事件引起的效能問題事件
- ORACLE 鎖的概念Oracle
- 【ASM_ORACLE】Library Cache最佳化篇(二)Library cache load lock的概念和解決辦法ASMOracle
- tx鎖之ROW_WAIT_OBJ#和object_id關聯排障AIObject
- Resolving Issues Where 'Row Cache Lock' Waits are OccurringAI
- 一次Row Cache Lock問題處理過程
- sql 開發篇一 之 表鎖查詢及解鎖SQL