昨天与厂商就GoldenGate实施问题进行讨论,对一些问题进行了澄清,总结如下:
1,对应用程序的要求
1.1,对表的要求
*表的属性不能为nologging
*除了以下几种情况,所有表需要有主键或唯一索引:
--除非只有插入,没有更新和删除(使用分区删除或不删除)
--小表
1.2,对软件升级版本的要求
*不能有nologging操作(sqlldr直接插入,使用append/并行插入等)
*规范临时表命名,避免复制
1.3,关于索引
源端:
*存在主键或唯一索引,可以减少日志生成量
*索引可以是nologging
目标端:
*存在索引,可以加快目标端应用速度
*可以存在不同于源端的索引
2,软件版本升级策略(是否启用DDL复制)
使用DDL复制
*应用版本中不能有nologging操作
手工同步
*在升级期间源端停止捕获,分别在源端和目标端执行升级脚本(DDL,DML),升级完成后重新启动复制
3,启用DDL复制的优缺点
优点:
*支持联机版本升级
*对新增表自动增加附加日志
*应用版本自动升级
缺点:
*需要关闭recyclebin
*不支持非源系统日志捕获
*不支持目标端使用hash并行应用(只支持一个CPU应用),日志应用上限380GB/日,目前为100GB/日
*对应用版本有特殊要求,对大的dml操作有较长时间延迟
4,在复制数据同时,实现历史数据保留(在系统资源满足需求、充分测试的情况下实施)
使用相同的捕获、传递进程,通过设置两个独立的应用进程实现历史数据保留:
*复制数据到shema A,与源端进行相同处理
*复制数据到shema B,只处理删除操作,将删除变为插入操作
需要注意:
*注意应用版本只维护表结构,不能插入数据
*初始只导入数据结构
*shema B中,为了避免插入失败,需要删除所有外键约束
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/18922393/viewspace-697456/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/18922393/viewspace-697456/