在添加补充日志之后在delete操作中OGG没有记录列值

Golden Gate don't record column's value after being added supplemental log in delete operation (Doc ID 1549316.1)

适用

Oracle GoldenGate - Version 11.1.1.0.0 to 11.1.1.0.0 [Release 11.1.1] Information in this document applies to any platform.

症状

当在某列上执行add trandata之后,该列会被写入trailfile中,但是被发现针对delete语句没有被写入。然后导致了replicat进程abend。

但是当我做update操作之后,是写入了列值的。

在源头和目的端表中均存在PK,源头PK与目的端PK不一样,但是我们在源头数据库中为目的端的pk列添加了补充日志。update操作是成功的,delete操作不成功。

原因

默认情况下,OGG中的delete操作是COMPRESSDELETES,这导致针对delete操作,抽取进程只会将主键值写入trail中。

解决方案

默认情况下,OGG中的delete操作是COMPRESSDELETES,这导致针对delete操作,抽取进程只会将主键值写入trail中。

默认情况下,delete操作是被压缩的,因此抽取进程只会将主键值写入到源头的trail文件中。

但是目的端的replicat进程使用与源头不同的列,因此主键在trailfile中是丢失的。

请在源头抽取进程中使用NOCOMPRESSDELETES参数以覆盖默认值

或者

你可以在map语句中使用KEYCOLS 选项以强制OGG使用指定的列作为Key

注意:我们依然推荐在源头和目的端使用相同的PK

如下摘自reference:

COMPRESSUPDATES 和NOCOMPRESSUPDATES 在参数文件中全局适用于所有的TABLE语句

本参数只适用于如下数据库:

DB2 LUW DB2 z/OS Teradata version 12 or later SQL Server Sybase

本参数不适用于Oracle数据库。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值