开发者社区 问答 正文

DTS全量迁移失败怎么解决

已解决

DTS全量迁移失败怎么解决

展开
收起
提个问题 2024-05-24 13:09:38 84 分享 版权
2 条回答
写回答
取消 提交回答
  • 开发者社区问答官方账号
    官方回答
    DTS同步任务进行增量同步之前,会先对同步对象进行一次全量迁移,从源端迁移到目标端,而迁移会在源端执行select来获取数据,然后再将数据迁移到目标端,在源端进行数据获取的时候,如果源端实例存在连接失败、超时或锁等阻塞情况,就会导致全量迁移失败。
    预防方法:
    尽量避免大事务、执行时间长的事务,以及大量的DDL操作。在迁移阶段,避免对表操作结构变更,发生锁表,也会导致任务出现失败的情况。
    解法:
    1.登录控制台在任务列表页,单机任务的查看原因并修复
    2.排查源或目标数据库是否连接失败/超时,确认连接正常后,执行重启任务操作。
    3.目标实例的存储空间已满或实例被锁定。升级目标实例规格或清理实例日志空间后,执行重启任务操作。
    4.等待锁自动释放,然后重启DTS任务。
    5.如果存在锁,在源端找到锁的会话,进行kill,然后重启DTS任务。
    6.检查源库和目标库中是否存在该表,假如目标库中不存在该表,尝试手动建表之后重启任务恢复。
    2024-05-28 14:42:09
    赞同 展开评论
  • 修复全量数据迁移失败的任务
    登录数据传输控制台。
    在左侧导航栏,单击数据迁移。
    在迁移任务列表页,选择数据迁移任务所属的地域。
    单击目标迁移任务的查看原因并修复。查看原因并修复
    在全量数据迁移过程中,对于以下几种失败原因,DTS提供了修复功能:

    说明
    对于其他失败原因,DTS只提供忽略操作,即不将该对象的全量数据迁移到目标数据库。
    源或目标数据库连接失败/超时。
    排查该问题并确认连接正常后,执行重启任务操作。

    目标实例的存储空间已满或实例被锁定。
    升级目标实例规格或清理实例日志空间后,执行重启任务操作。

    源数据库中部分MyISAM被损坏。
    手动对源库进行修复后,执行重启任务操作。

    在弹出的对话框中,根据提示进行调整修复。
    修复完成后,单击重启任务。

    image.png

    参考文档https://help.aliyun.com/zh/dts/user-guide/fix-a-failed-data-migration-task?spm=a2c4g.11186623.0.i39

    2024-05-27 09:07:55
    赞同 1 展开评论