非oracle db以 sqlserver为例子说明:
我的思路
A :oracle db 生产
B: oracle db 中间机
C: sqlserver db 目的端
A-> B->C
注意:B上既有rep进程也有ext进程,此时,C上也需要建立针对B的rep进程。
A->B可以完成 在线的完成初始化同步(基于scn号的expdp)
A->B的初始化做完之后,stop 掉 B的rep进程,此时B库为静态数据库,此时进行B->C的同步(使用etl工具 or sqlserver dts等等)
当B->C的初始化同步完成之后,
开启B上的rep,开启C上的rep,形成A-> B->C 这三个db上的ogg进程都在工作的局面。
业务低峰(夜深人静)时,当a上的ext lag为零时,stop A上的ext,等待A上的dp ,b上的rep,b上的ext,c上的rep(来自b)均干完活---lag 进程名
记录A上的ext读检查点,写检查点。
记录A上的dp读取检查点。--info dp showch
在A上新建立从A到C的传输进程dpatoc,修改dpatoc的读取检查点。
在C上新建立repfromA ,以应用 dpatoc传输过来的trail文件。