开发者社区> 问答> 正文

DTS为什么会有主键冲突异常

已解决

DTS为什么会有主键冲突异常

展开
收起
提个问题! 2024-06-08 16:05:31 25 0
1 条回答
写回答
取消 提交回答
  • 开发者社区问答官方账号
    官方回答
    采纳回答
    DTS发生主键冲突一般有如下场景:
    1、重启了DTS任务:DTS可能会根据保存的同步位点回拉一部分数据,导致有重复的数据写入目标库,造成主键冲突,此类主键冲突无需过多关注,DTS会自动处理该异常,并保证数据的最终一致性。
    2、增量追全量的时间段:因为DTS启动增量早于全量启动,所以全量迁移过程中的变更可能已经随着全量迁移到目标库,而在全量迁移结束后,增量会从全量开始前的时间点回放源库变更,可能会有重复数据写入,此类主键冲突无需过多关注,DTS会自动处理该异常,并保证数据的最终一致性,建议用户在全量迁移过程中尽量避免批量执行DML的行为。
    3、目标库存在trigger:目标库有trigger可能会在DTS写入目标库时触发,导致主键冲突,此类问题DTS无法自动恢复,需要用户查看目标库的trigger,并删除之。
    4、双向同步任务存在业务双写的情况:双向同步任务用户可配置数据冲突策略,当用户配置的冲突策略为interrupt时并且业务存在双写的情况,DTS链路就会有主键冲突异常,请客户检查报错中的表和主键信息,检查业务是否存在相同主键的DML操作。
    2024-06-08 16:05:32
    赞同 1 展开评论 打赏
问答标签:
问答地址:
关联地址:
归属于问产品:
数据传输DTS
进入专区
问答排行榜
最热
最新

相关电子书

更多
DTS助力企业快速复制阿里巴巴异地多活架构 立即下载
DTS控制台一本通 立即下载
低代码开发师(初级)实战教程 立即下载