oms 从ob反向增量同步到mysql ,是什么原因导致分区键不支持更新操作?

oms 从ob反向增量同步到mysql ,是什么原因导致分区键不支持更新操作?
oms 官方文档说是不支持的,自己测试也是确实当ob端更新了分区键的时候,源端mysql不会去同步。
想咨询一下是什么原因导致这种限制,有没有好的解决方法?

对于含唯一索引的分区表,如果发生row movement(即更新分区键的值),在OB会在新的分区产生一个insert的日志,在旧的分区产生delete日志,两条日志对应同一个事务。对于OB而言没有什么影响,但因为OB分区级日志流,因此对于数据链路来说,insert和delete输出顺序是不确定的,如果先输出insert,再输出delete,由于唯一索引的存在,可能会将数据delete掉,导致目标端和源端数据不一致的问题。
为了解决这个问题,OB在3.2及之后的版本中引入了seq_no标识数据的操作顺序,保证上述场景中的delete操作对应的seq_no小于insert操作的seq_no,OBCDC按seq_no排序输出行数据,由此保证数据链路的正确性。注意是在32x版本之后才有的能力,在32x之前及社区版,是没有这个保证的。
用户可以在OB数据库中设置禁止row movement,如果发生row movement,sql会报错,SQL可以参考:alter table xxx disable row movement;