項目的新需求是同步兩個Oracle數據庫的部分個,在實驗環境現試通了幾種方法,今天先把DbLink 加 實體化視圖 同步數據的方法記錄一下。 數據庫
一、配置tnsnames.ora文件
指定到主數據庫的網絡名,實驗環境爲169db。
網絡
二、在從數據庫端給用戶賦值相應的權限
grant create database link to repadmin; --建立dblink的權限。
grant create materialized view to repadmin; --建立物化視圖的權限。 ide
三、以repadmin身份登陸從數據庫。
connect repadmin/xxxx
--建立dblink
create database link 169dbLink connect to repadmin identified by xxxx using '169db';
--測試是否建立成功
select * from global_name@169dbLink; 測試
四、在主數據庫的表上建立物化視圖日誌,這個日誌記錄了主表的變化。
create materialized view log on pdata;
--若是Pdata個沒有主鍵,能夠用rowid做爲爲主鍵。
create materialized view log on pdata with rowid; spa
五、在從數據庫中建立物化視圖。
create materialized view test refresh fast with primary key start with sysdate next sysdate+1/1440 as select * from pdata@169dblink;
--這裏用的是fast自動刷新。 sysdate +1/1440 爲每分鐘刷新一次。 日誌
六、完成。
能夠在主數據庫對pdata表進行Insert或Update,從數據庫中的物化視圖會自動更新。 同步