欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

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

程序员文章站 2024-02-04 09:04:28
...

使用info extract/pump/replicat,detail命令核实同步链路各进程trail文件及检查点是否一致,如不一致,需要使用如下语句接通,如

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

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错误