oracle物化檢視日誌系列(一)
oracle物化檢視日誌系列(一)
1,基於物化檢視日誌,實現增量重新整理,如無,則重新執行查詢模組,進行全量重新整理
2,如要實現增量重新整理,必須為查詢模組所有引用的表構建物化檢視日誌
3,增量重新整理比全量重新整理花費時間要少得多
有2種型別的物化檢視日誌:基於時間戳和基於提交時產生的scn.
如採用前者,使用時間戳並且
需要進行一些配置操作.而後者使用提交時產生的SCN,不用配置操作,
因此提升了重新整理的速度.如指定commit scn子句會建立基於scn的物化檢視日誌,
否則建立基於時間戳的物化檢視日誌
只有新建立的物化檢視日誌可以使用commit scn,已建立的物化檢視日誌不能變更
新增commit scn,除非刪除重建
語法:
CREATE MATERIALIZED VIEW LOG ON [ schema. ] table
[ physical_attributes_clause
| TABLESPACE tablespace
| logging_clause
| { CACHE | NOCACHE }
]...
[ parallel_clause ]
[ table_partitioning_clauses ]
[ WITH [ { OBJECT ID
| PRIMARY KEY
| ROWID
| SEQUENCE
| COMMIT SCN
}
[ { , OBJECT ID
| , PRIMARY KEY
| , ROWID
| , SEQUENCE
| , COMMIT SCN
}
]... ]
(column [, column ]...)
[ new_values_clause ]
] [ mv_log_purge_clause ]
;
--上述各子句語法構成
new_values_clause::=
{ INCLUDING | EXCLUDING } NEW VALUES
mv_log_purge_clause::=
PURGE { IMMEDIATE [ SYNCHRONOUS | ASYNCHRONOUS ]
| START WITH datetime_expr [ NEXT datetime_expr
| REPEAT INTERVAL interval_expr
]
| [ START WITH datetime_expr ] { NEXT datetime_expr
| REPEAT INTERVAL interval_expr
}
}
WITH Clause
1,此子句標示master table row record變化時到底到底記錄pk,object id,sequence,rowid或其混合體.
也可用此子句新增序列到物化檢視日誌,為其記錄提供額外的排序資訊
2,也控制是否記錄物化檢視中的過濾列,即在物化檢視子查詢中引用的非主鍵列,或子查詢多表關聯的
連線列(也是非主鍵列)
3,預設為主鍵列
4,object id僅適用於物件表;表明記錄系統生成或使用者定義的物件表
5,rowid表示記錄變化的rowid儲存到物化檢視日誌
6,sequence可以提供增量重新整理,
COMMIT SCN
如未指定commit scn子句,預設啟用基於時間戳,需要執行一些配置操作.而commit scn不用這些操作提升
重新整理速度.
可以為基於scn的物化檢視日誌的master table建立下列型別的本地物化檢視(包括on commit和on demand)
聚集物化檢視,包含基於單表的聚集物化檢視
Materialized aggregate views, including materialized aggregate views on a single table
聯結物化檢視
Materialized join views
基於PK和基於ROWID的單表物化檢視
Primary-key-based and rowid-based single table materialized views
透過union all聯結上述型別物化檢視的物化檢視
UNION ALL materialized views, where each UNION ALL branch is one of the above materialized view types
記住:不能為建立了基於scn物化檢視日誌的master table建立遠端物化檢視
You cannot create remote materialized views on master tables with commit SCN-based materialized view logs.
commit scn一些操作限制
Restrictions on COMMIT SCN The following restrictions apply to COMMIT SCN:
不支援表中包含多個lob列否則報ora-32421
Use of COMMIT SCN on a table with one or more LOB columns is not supported and causes ORA-32421.
如建立不同型別(即基於scn和基於時間戳)物化檢視日誌型別的物化檢視不能支援會報ora-32421
Creating a materialized view on master tables with different types of materialized view logs
(that is, a master table with timestamp-based materialized view logs and a master table with
commit SCN-based materialized view logs) is not supported and causes ORA-32414.
column表明如記錄發生變化時,記錄這些記錄哪些列到物化檢視日誌中,一般是filter columns或join columns
column Specify the columns whose values you want to be recorded in the materialized view log
for all rows that are changed. Typically these columns are filter columns and join columns.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-754587/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle物化檢視的建立及使用(一)Oracle
- 物化檢視日誌無法正常清除的解決方法
- Oracle普通檢視和物化檢視的區別Oracle
- 用exp、imp遷移包含物化檢視日誌的資料
- Oracle物化檢視的建立及使用(二)Oracle
- 物化檢視
- oracle 11g檢視alert日誌方法Oracle
- 物化檢視(zt)
- 檢視Oracle的redo日誌切換頻率Oracle
- Linux 檢視日誌Linux
- alertmanager: 檢視日誌
- 檢視oracle的redo日誌組切換頻率Oracle
- Hyperf日誌檢視元件元件
- Logminer如何檢視日誌
- calcite物化檢視詳解
- 【MVIEW】Oracle通過物化檢視同步表資料及簡介ViewOracle
- 【ADRCI】使用ADRCI (ADR Command Interpreter) 工具檢視Oracle alert警告日誌Oracle
- docker檢視容器日誌命令Docker
- 檢視系統的日誌
- windows_weblogic日誌檢視WindowsWeb
- 【SQL】Oracle查詢轉換之物化檢視查詢重寫SQLOracle
- 檢視pod下面某一個容器的日誌
- Monaco Editor 實現一個日誌檢視器
- 資料庫的物化檢視資料庫
- 物化檢視分割槽實驗
- 自定義 Command 檢視 Laravel 日誌Laravel
- 檢視日誌的幾種形式
- mysql檢視binlog日誌詳解MySql
- eclipse設定檢視GC日誌和如何理解GC日誌EclipseGC
- 物化檢視幾個知識點
- ClickHouse 物化檢視學習總結
- NAS中如何檢視日誌記錄?
- [擴充套件包]-Laravel檢視日誌套件Laravel
- Linux 檢視日誌的命令彙總Linux
- toad使用(檢視alert日誌、Database Report)Database
- win10關機日誌檢視方法_win10電腦關機日誌怎麼檢視Win10
- ClickHouse 效能優化?試試物化檢視優化
- ClickHouse效能優化?試試物化檢視優化
- 【TUNE_ORACLE】Oracle檢查點(四)檢查點對redo日誌的影響和redo日誌大小設定建議Oracle