ALLSTARS_ORACLE 发表于 2013-10-7 22:35:11

深入了解OGG goldengate 的DDL 复制

深入了解OGG goldengate 的DDL 复制


1)        概述
GoldenGate使用数据库的Trigger实现DDL复制的功能。该方式通过建立一个数据库级的trigger,捕捉DDL语句放到队列文件中,进而复制到目标端,实现DDL的复制。
2)        优势
使用GoldenGate的DDL复制只需执行OGG提供的脚本并设置相关参数即可,不对当前OGG复制做较大的调整,实施工期较短,能够满足常见DDL的复制要求。
3)        劣势
使用内置DDL复制需要注意的问题包括:
I.        错误的传播
DDL本身是一把双刃剑,如果网省端做了drop/truncate表等类似的误操作,DDL复制会把这些错误忠实复制到目标端,造成生产和灾备的数据均遭到破环,容灾也就失去了意义。
II.        生产端性能下降
Trigger本身的触发会导致日常DDL操作变慢,将日常DDL操作大量记入数据库临时表也会加重数据库的负担,导致数据库整体性能下降,具体影响只能通过实际测试予以评估。

III.        某些DDL操作会带来两端不一致
将源端的DDL语句复制到目标端并不能保证两端完全一致。以下是部分可能产生不一致的场景:
        创建一个索引等数据库系统自动命令的对象,通过SQL复制到目标端后系统自动产生的对象名与源端会不同,以后对该对象的修改和删除操作会失败;
        使用create table as select from语句创建的表,其DDL被复制过去后会自动将数据填入表内,但这些DML变化同样可以被OGG的DML复制过去;
        两个库之间的物理上的差异,可能会造成DDL语句失败,如表空间、数据文件的不同。
因SAP本身内部操作并不稳定,无法预知其是否存在类似操作。
IV.        有一定的维护工作量
由于上面的限制和其它因素导致源端SQL在目标端无法执行的情况,需要人工介入,工作量目前尚无法估算。
4)        实施工作量
每个库的内置DDL复制配置需要1天时间,运行初期需要进行实时监控,发现问题进行人工排除。

xychong123 发表于 2013-10-9 17:24:47

good 不错 学习学习

justinleisure 发表于 2014-10-16 21:55:37

总结的不错。

sidney_wu 发表于 2016-7-18 08:49:08

不错,学习中!

123456 发表于 2017-8-18 16:36:57

很好,学习了

123456 发表于 2017-8-18 16:37:15

ogg ddl的稳定性怎么提高
页: [1]
查看完整版本: 深入了解OGG goldengate 的DDL 复制