You need to enable JavaScript to run this app.
导航

如何执行业务切换并建立回退方案

最近更新时间2023.12.19 10:18:18

首次发布时间2023.12.19 10:18:18

本文介绍执行业务切换并建立回退方案的操作步骤,帮助您最大化地降低数据迁移对业务的影响。

前提条件

已创建增量迁移任务,且任务状态处于执行中。详细操作,请参见迁移方案概览

注意事项

  • 由于执行业务切换时需要停止数据写入并暂停业务,请选择业务低峰期操作以降低影响。

  • 为便于区分会话信息和提升数据的安全性,建议您单独创建并授权一个数据库账号以供迁移使用。

操作步骤

  1. 等待数据迁移任务的进度变更为增量迁移,并显示延迟 0 秒或延迟时间低于 5 秒。

  2. 暂停源数据库的业务,禁止新的数据写入源数据库。

  3. 登录源数据库,根据数据库类型执行下述命令查看会话信息,确保没有新的会话执行写入操作。

    sql
    	show processlist;
    	

    说明

    上述语句查询到的进程或会话信息中,包含 DTS 连接源数据库的进程或会话。

  4. 等待迁移任务的增量迁移再次进入延迟 0 秒状态,并保持 1 分钟或以上,然后手动暂停迁移任务。

    说明

    当迁移任务处于已暂停时,请不要随意启动任务,否则可能会导致数据不一致。

  5. 保持业务暂停状态,取消源数据库禁止写入的限制。

  6. 创建并启动反向数据迁移任务,用于将目标库后续产生的增量数据迁移到源数据库。
    此步骤创建的反向迁移任务的作用是为业务提供回退方案。业务恢复运行后,当业务出现异常时您可将业务立即切换至原有数据库中。例如原迁移任务为火山引擎版 MySQL 到火山引擎 ECS 自建 MySQL,则创建的反向迁移任务为火山引擎 ECS 自建 MySQL 到火山引擎版 MySQL。

    说明

    在配置反向迁移任务时,迁移类型仅需选择增量迁移迁移对象选择需要迁移回源数据库的库或表。

  7. 业务切换至目标库,成功切换后,手动结束或释放原 DTS 迁移任务。详细操作,请参见终止迁移任务删除迁移任务

注意

当业务运行出现问题时,由于创建的反向迁移任务会将目标库产生的增量数据实时迁移回源库,您可随时将业务切换回源库。

后续操作

  • 业务切换至目标数据库并稳定运行一段时间,测试所有业务涉及的功能并确认无问题后,可暂停反向迁移任务,详情请参见暂停迁移任务

    说明

    用于迁移的数据库账号拥有读写权限,为保障数据库安全性,请在迁移任务完成后,删除用于数据迁移的数据库账号或回收相关写权限。

  • 在业务切换后,如果由于误操作导致源数据库写入了新数据,您可以根据数据校验功能校验源端和目标端的差异数据,并手动订正。关于数据校验的详细信息,请参见数据校验简介