ITPub博客

首页 > Linux操作系统 > Linux操作系统 > GoldenGate重新同步个别表流程

GoldenGate重新同步个别表流程

原创 Linux操作系统 作者:db_wjw 时间:2012-06-27 10:27:54 0 删除 编辑
有时候业务必须24小时,没法停机,如果某些表数据不一致,可以采用下列流程重新同步个别表
1、在目标端停止replicat进程
stop repprod
2、在源库上查找出当前scn号
SQL> select dbms_flashback.get_system_change_number from dual;

GET_SYSTEM_CHANGE_NUMBER
------------------------
               887914549
3、在源库导出需要重新同步的表
expdp lis directory=data_pump_dir dumpfile=lacommision.dmp logfile=lacommision.log tables=lacommision content=data_only flashback_scn=887914549
4、将导出文件传到目标系统
scp oracle@10.0.1.10:/oracle/admin/lis/dpdump/lacommision.dmp /oracle/admin/lis/dpdump
5、清空目标库中表的内容
truncate table lacommision;
6、将表导入目标数据库
impdp lis directory=data_pump_dir dumpfile=lacommision.dmp logfile=lacommision.log
7、将该表涉及到的相关约束给禁用
8、修改replicat进程参数文件,在需要重新同步的表后指定过滤条件
map LIS.LACOMMISION, target LIS.LACOMMISION, filter (@GETENV ("transaction", "csn") > 887914549);
9、启动目标端replicat进程
start repprod
10、等待追平了以后,就可以停掉replicat进程,去掉表后的过滤条件,然后重启进程。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26194851/viewspace-733902/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-08-21

  • 博文量
    96
  • 访问量
    439015