一直對oracle replication的機制不是相當了解,今天看了幾個章節,稍微有些心得,雖然還是不知道replication group存在的真正目的,不過到是對materialized view多了些認識。
Materialized view可以是read-only, updatable, writeable這三種模式。read-only相當好理解,不過updatable跟writeable兩個就... ?
Read-only
要做一個read-only的materialized view,就是不要使用"FOR UPDATE"這個子句(clause)即可。如其名,不可以對這類views執行任何DML語法。而且!!! 它也不需要屬於任何一個materialized view group。
Updatable
跟read-only相反,可以在這類views上執行DML語法,而這些變更也可以透過排程或其他方法更新回target master(可能是一個master table或master materialized view);不過有一個前提: 就是updatable materialized view必須放在一個materialized view group裡。
Writeable
writeable的materialized view跟updatable一樣,會用到"FOR UPDATE"子句。唯一差別是,他不會放在materialized view group內,換句話說,即使可以對writeable的materialized view執行DML,但是變更並不會更新回target master。(那幹嘛不用read-only就好= = 所以這類materialized view也比較少用)
整理如下:
Read-only | Updatable | Writeable | |
created with “FOR UPDATE” clause? | N | Y | Y |
perform DML operation? | N | Y | Y |
placed in a materialized view group? | N | Y | N |
changes be pushed back to master? | N | Y | N |
Post a Comment