oracle迁移至国产数据库后,如何保证数据的完全一致性?并行期间,是建议应用双写还是使用同步软件回写?
具体哪种方式需要看应用支持双写的难度。说一个我们碰到的应用双写难点,部分流水号是通过序列生成的。为了加速序列的使用Oracle和国产库都加了cache,如果是简单的通过nginx将业务流量镜像,两边取到的序列值就难于保障是一致的。创建订单的流程都能完成,只是生成的流水号不一样,但是对于根据流水号修改的业务,流量复制到备端就会异常。
收起造成数据一致性的问题可能有多个方面,如在人为误操作,应用程序对于字段的特殊处理(例如Oracle, DB2 库级别为GBK,但字段写入了 UTF8编码数据)或者应用程序 Bug等。 因此数据的一致性需要通过迁移工具提供 “全增量的数据校验" 来保障。 并行期间,是建议应用双写还是使用同步软件回写,个人认为: 应用双写的改造成本还是比较大的,看具体应用。如果同步软件能够提供很好的解决方案。使用同步软件的方式会更简单。
收起在进行Oracle迁移至国产数据库的过程中,保证数据的完全一致性是非常重要的。以下是一些建议:
总的来说,为了保证数据的完全一致性,需要在迁移前进行备份,迁移后进行数据验证,并在迁移期间使用同步软件回写或双写。