在同步之前应注意:
(1)确认 ext /pump进程均无较大延迟,否则建议追平再执行操作;
(2)估算导出后dmp文件大小,以放入足够大小的文件系统中存放;
生产端:
1) 在源端获得当前的scn号。例如:
select dbms_flashback.get_system_change_number from dual;
以下以获得的scn号为6681为例
2) 在源端使用exp导出所需重新初始化的表或者几张表数据,并且指定到刚才记下的scn号。如:
exp system file=/backup/hapms.dmplog=/backup/hapms.log tables=(app.mwt_ud_pd_sb_cjqxtj )buffer=64000 grants=n statistics=none triggers=n compress=n FLASHBACK_SCN=6681
注意:其中路径/backup以空间足够 (预留10G空间)、且实际存在的路径为准。
也可选择数据泵导出。
3) 通过ftp传输到目标端(IP:10.108.xx.xx,目录:/backup/imp下);
灾备端
1) 在目标端,使用imp导入数据;
nohup imp goldengate/XXXXX file=hapms.dmp fromuser=mw_app touser=mw_app ignore=y &
2) 如果该表有外键,在目标端检查该外键并禁用;
3) 新建replicat进程,将该表放入该复制进程中。编辑对应的rep参数文件,在其map里面加入一个过滤条件
map app.mwt_ud_pd_sb_cjqxtj , target app.mwt_ud_pd_sb_cjqxtj , filter ( @GETENV ("TRANSACTION", "CSN") > 6681 ) ;
4) 确认参数无误后,启动目标端的rep进程;
5) 使用info repxx或者lag repxx直到该进程追上,停止该进程去掉filter即可进入正常复制。