ogg 根據 scn 同步資料零停機
-- 在做測試前已經預先配置好ogg
-- 建立測試表插入資料
create table zzh.test1(id number);
insert into test1 values(1);
insert into test1 values(2);
insert into test1 values(3);
-- 查詢源scn将源資料導入目标庫
-- 1.源庫按照scn導入到目标庫
-- 源端的資料:
sql> conn zzh/oracle
sql> select * from test1;
id
----------
1
2
3
-- 此時的源端的scn
sql> select current_scn from v$database;
current_scn
-----------------
404040721
-- 按照scn導出
$ expdp system/oracle directory=dump dumpfile=zzh.dmp schemas=zzh flashback_scn=404040721
-- 源端模拟生産環境寫入資料:
sql> insert into test1 values(4);
sql> commit;
-- 傳送至目标端:
# scp zzh.dmp [email protected]:/home/oracle/dump
-- 目标端導入:
$ impdp system/oracle directory=dump dumpfile=zzh.dmp
-- 驗證目标庫資料
-- 源庫再次插入資料
sql> insert into test1 values(5);
-- 此時原庫的trail檔案和目标庫的trail檔案都出現了增長變化:
-- 啟動replicat(aftercsn)
ggsci (ogg2) 9> start replicat test_r,aftercsn 404040721
ggsci (ogg2) 10> info all
4
5