物化檢視日誌(materialized view log)引起大量Dfs Lock Handle等待
APPLIES TO:
Oracle Server - Enterprise Edition - Version 10.2.0.3 to 10.2.0.4 [Release 10.2]Information in this document applies to any platform.
SYMPTOMS
After creating materialized view logs on two very active tables, many sessions doing DML on those base tables were showing 'DFS LockHandle' waits.
-
Trace files, generated by a system state dump, show a reference to a sequence.
KGL Sequence Object #535:
-
A query of dba_objects for object_id 535 determined this is object SYS.CDC_RSID_SEQ$, which is the same sequence used to insert data into some of the mview logs tables :
INSERT /*+ IDX(0) */ INTO "SBDBA0"."MLOG$_BASETABLE" (dmltype$$,old_new$$, snaptime$$
,change_vector$$,sequence$$,m_row$$,"COL1","UID","STATUS" ,"ID","PFUID") VALUES
(:d,:o,to_date('4000-01-01:00:00:00','YYYY-MM-DD:HH24:MI:SS'),:c
,sys.cdc_rsid_seq$.nextval,:m,:1,:2,:3,:4,:5)
CAUSE
This behavior matches "DFS LOCK HANDLE WAITS ON SEQ CDC_RSID_SEQ$ THOUGH CT ISN'T USING CDC."
Note: This bug was still open with development at the time this note was published (Oct. 2009).
SOLUTION
Workaround: Recreate all MV logs that do not require sequence to be stored in the log.
-
Use dbms_mview.explain mview and query the mv_capabilities_table to determine which
materialized views do not need a sequence added to the materialzied view logs.
If sequence is needed you will see something similar to this in the output:
SQL> exec dbms_mview.explain_mview('CAL_MONTH_SALES_MV');
PL/SQL procedure successfully completed.
SQL> SELECT capability_name, possible, SUBSTR(related_text,1,8)
2 AS rel_text, SUBSTR(msgtxt,1,60) AS msgtxt
3 FROM MV_CAPABILITIES_TABLE where msgtxt like '%sequ%'
SQL> /
CAPABILITY_NAME P REL_TEXT MSGTXT
----------------------------- - -------- ------------------------------
REFRESH_FAST_AFTER_ANY_DML N SH.SALES mv log does not have sequence #
Note: If the sequence is required and is missing from the log then it's possible Oracle will
report error "ORA-32316 REFRESH FAST of %s . %s unsupported after mixed DML."
2. Once it is detemined that the sequence is not required, drop and recreate the materialized view log(s). A complete refresh will be required the first time any fast-refreshable mview uses the newly created log.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15747463/viewspace-1184683/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- materialized view (物化檢視)ZedView
- 建立物化檢視MV ( Materialized View )ZedView
- 關於DFS lock handle等待事件事件
- 轉:物化檢視(Materialized View)介紹ZedView
- oracle10g materialized view物化檢視示例OracleZedView
- ogg 同步 物化檢視建立限制 Materialized ViewZedView
- 【物化檢視】幾種物化檢視日誌分析
- oracle10g nested materialized view巢狀物化檢視示例OracleZedView巢狀
- zt_yangtinkung_ITPUB知識索引貼——物化檢視materialized view索引ZedView
- 物化檢視(Materialized View)的重新整理回滾約束ZedView
- 物化檢視(Materialized View)的重新整理回滾測試ZedView
- DFS lock handle事件處理事件
- oracle10g partition分割槽表與物化檢視materialized viewOracleZedView
- 遭遇DFS LOCK HANDLE wait event,AI
- 物化檢視comlete重新整理會產生大量的日誌
- 【物化檢視】根據物化檢視日誌快速重新整理物化檢視的過程
- 物化檢視日誌的維護
- oracle物化檢視日誌系列(一)Oracle
- oracle物化檢視日誌系列(二)Oracle
- oracle物化檢視日誌系列(三)Oracle
- 物化檢視日誌表被DROP後建立物化檢視報錯
- Oracle如何根據物化檢視日誌快速重新整理物化檢視Oracle
- 物化檢視的快速重新整理測試與物化檢視日誌
- 物化檢視匯出匯入可能導致物化檢視日誌的失效
- enq:SQ-contention / DFS lock handle(SV)ENQ
- 物化檢視重新整理並非完全根據物化檢視日誌記錄
- 物化檢視日誌與增量重新整理
- 物化檢視日誌對UPDATE的影響
- 10G物化檢視PCT快速重新整理不再需要物化檢視日誌(三)
- 10G物化檢視PCT快速重新整理不再需要物化檢視日誌(二)
- 10G物化檢視PCT快速重新整理不再需要物化檢視日誌(一)
- Logminer如何檢視日誌
- 多個物化檢視導致物化日誌無法及時更新
- windows_weblogic日誌檢視WindowsWeb
- Oracle 使用logmnr檢視日誌Oracle
- Materialized View Logs (190)ZedView
- 由oradebug poke process allocation latch引發dfs lock handle等待事件進一步分析事件
- materialized view的fast和日誌分析和一則案例ZedViewAST