Oracle GoldenGate 数据同步初始化最佳实战(Data Pump)


全链路初始化标准化流程:

1)验证同步链路连通性

使用info extract/pump/replicat,detail命令核实同步链路各进程trail文件及检查点是否一致,如不一致,需要使用如下语句接通,如有必要还可在初始化开始前进行DML测试

alter extract/pump/repilcat extseqno,extrba

2)检查gv$transaction视图,查看当前是否存在正在运行的长时间事务,如若存在需查明原因,要么等待完成,要么kill掉该事务。

3)在源端添加同步表的附加日志

如第2步中不存在无法kill掉的事务,则在源端执行(此步骤可选)

alter extract tranlog threads 2 begin now

4)执行上述步骤后,

  在源端正常启动extract和pump进程

  在目标端停止replicat进程

5)确保上述步骤完成后,开始进行导出操作,首先在确保源端数据库无正在运行事务的情况下取出当前 SCN值,并记录为 SCN_INIT:

select current_scnfrom v$database;

select dbms_flashback.get_system_change_number current_scn from dual;

6)在源端使用expdp工具指定 flashback_scn 选项将同步链路的初始化数据导出

expdp exp_user/exp_passwd schemas=hx_zsj directory=dp_dir dumpfile=hx_zsj.dmp logfile=hx_zsj_2013***.log exclude=grant,statistics,trigger flashback_scn=SCN_INIT

7)在目标端使用impdp工具导入,指定 table_exist_action=truncate 选项

impdp imp_user/imp_passwd schemas=hx_zsj directory=dp_dir dumpfile=hx_zsj.dmp logfile=hx_zsj_2013***.log table_exist_action=truncate

主数据同步注意事项:

为了保证初始化成功,在做初始化前应在同步目标端数据库禁用触发器、外键约束和具有DML操作的job,这些因素都可能导致初始化后两端数据的不一致 

由于金三环境存在着交叉流向的级联同步,数据链路复杂,在做数据同步初始化时尽量选择在业务禁止区间(一般在晚上),封闭数据运维入口,尽量保证同步源端的数据禁止。

核心征管主数据同步部分,初始化时尽量保证各个链路的工作完全分离,如尽量在纳税人、申报等生产数据到主数据库同步的初始化完成后,再去做主数据库往外分发的同步初始化。

在做初始化时,尽量避免在往一个库导入的同时,在从该库进行导出,以保证有足够的undo资源可用。

RAC环境下管理OGG-HA

RAC环境下配置OGG同步

GoldenGate单向表DML同步

Oracle GoldenGate 系列:Extract 进程的恢复原理

Oracle GoldenGate安装配置

Oracle goldengate的OGG-01004 OGG-1296错误

相关内容