[Oracle][メモ] Materialized View
忘れん内に作り方のメモ。でも色々忘れている。
権限の付与
Materialized Viewを作るには Create Materialized View の権限が必要なので付与。
% sqlplus /nolog
SQL> conn hoge/pass@mydb as sysdba; SQL> grant create materialized view to hoge;
Materialized View Log の作成
Fast同期させたいときはMaterialized Viewログを作る必要がある。
SQL> create materialized view log on mytable with rowid;
ここでは、mytable用のログを作成した。このテーブルに対してInsertやUpdateが発生するとrowidと変更メソッドの種類などが記録される。同期時にこの情報が使われるみたい。
Materialized View の作成
SQL> create materialized view vw_mytable refresh fast start with sysdate next sysdate + 1/1440*30 with rowid as select t.rowid, t.* from mytable t where t.age > 3;
リモートのDBにあるテーブルのMaterialized Viewを作る時はDBリンクを使う。
SQL> create materialized view vw_mytable refresh fast start with sysdate next sysdate + 1/1440*30 with rowid as select t.rowid, t.* from mytable@remote t where t.age > 3;