OGG从11R2开始提出了Integrated模式,在Integrated模式下不在使用OGG用户去挖掘信息,而是使用了Logmining Server(OUTbound Server)这个进程读数据中的日志信息,转换生成Logical Change records(LCR)文件,extract进程再将读取这个LCR文件把数据存入trail文件。带来的一个好处就是OGG12c之后DDL无需触发器了(OGG12C,DB11204)。


可以看到,添加成功。Schema-level的附加日志是启用DDL复制的前提条件。

在已经配好了正常的同步的OGG进程后,主要向抽取进程中添加如下参数:
DDL INCLUDE MAPPED EXCLUDE MAPPED OBJTYPE 'TRIGGER' EXCLUDE MAPPED INSTR 'FOREIGN KEY' DDLOPTIONS REPORT |
使用exclude排除触发器和外键,添加参数后重启进程。
向复制进程中添加如下参数(复制进程默认开启DDL):
DDLSUBST参数实现了源、目标端表空间不同情况下的转换。
1. 测试添加表字段:
源端:


可以看到,DDL操作被抽取进程捕捉到。
目标端:


2. 测试修改字段长度
源端:

目标端:

3. 测试rename表名

目标端:

4. 测试新建表
源端:

目标端:


5. 测试创建索引


通过简单测试,一般情况下的DDL,OGG都是可以支持的。但是后续生产环境要开启DDL的,需要考虑的因素较多,毕竟系统已经运行了较长的时间,肯定会有较多的表不一致的情况,直接开启,肯定会有大量的报错产生。所以具体如何开启,还需要妥善的方案和前期准备工作。

更多精彩干货分享
点击下方名片关注
IT那活儿

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




