错误日志里的Goldengate 1403问题,其实不少时候都是跟附加日志和表结构不一致有关系。你也碰到过,数据同步突然挂住,一查日志全是 1403。嗯,大多数时候是某个字段结构改了,索引没重建,或者目标端少了个列。
还有一种情况挺坑,就是附加日志没开全,尤其是新加表后忘记加日志,再同步就直接报错。想要不踩坑,你得检查一下源端表的结构和目标端是不是对得上,有没有改字段没同步索引啥的。
你要是想进一步了解,下面几个文章还挺有用,像这篇Oracle GoldenGate 1403 错误与方案,讲得挺细,附带思路。
还有几篇是从数据一致性、并发控制、日志机制这些角度切入的,像是数据库并发控制中的三种数据不一致性和数据库日志文件登记原则,对理解 1403 背后的逻辑也有。
如果你平时也在用 GoldenGate 同步数据,建议你定期跑下表结构比对脚本,尤其是跨库跨平台的时候,真能省不少事。