全部产品
Search
文档中心

数据传输服务 DTS:使用创建反向任务功能

更新时间:Oct 10, 2024

本文为您介绍如何使用数据传输服务DTS(Data Transmission Service)的创建反向任务功能,实现数据库容灾或业务交割(业务切换)场景下的数据回传。

前提条件

注意事项

  • 仅SQL Server数据库间、MySQL数据库间或云数据库MongoDB版间的同步实例支持创建反向实例,且该反向实例的同步类型只勾选了增量同步

  • 创建反向实例前直接写入到原同步实例目标库的数据,不会被同步。

  • 反向实例创建成功后会立即进行预检查,预检查通过后会进行增量数据采集,增量数据写入模块不会运行。

  • 每个同步实例仅支持创建一个对应的反向实例,且当反向实例启动后,原实例将无法直接启动。

  • 不支持为跨国家和跨境的同步实例创建反向实例。

  • 请确保待同步的表具备主键或唯一约束,并且字段具有唯一性,否则可能会导致部分数据重复。

  • 请根据业务数据库出现异常后的预估恢复时间,合理设置数据库Binlog的保存时间。

  • 若原实例为Serverless实例,则创建的反向实例的计费方式将为按量付费,且规格为micro;若原实例的计费方式为包年包月或按量付费,则创建的反向实例的计费方式和规格默认与原实例相同。

  • 若原实例为跨地域的同步实例,则需要将同步任务列表的地域切换为正向实例源库对应的地域,才可以看到创建的反向实例。

  • 创建的反向实例暂停期间也会收取相应的费用。

  • 在业务数据库出现异常无法连接的情况下,DTS实例的运行状态重试中属于正常现象。

操作步骤

数据库容灾场景

  1. 根据业务需求,创建业务数据库到灾备数据库的正向同步实例。

    请合理选择实例的规格,并根据业务数据库出现异常后的预估恢复时间,设置源库、目标库无法连接后的重试时间。正向同步实例的创建方法,请参见RDS MySQL实例间的单向同步RDS SQL Server间的同步云数据库MongoDB版(副本集架构)同步至云数据库MongoDB版(副本集架构或分片集群架构)云数据库MongoDB版(分片集群架构)同步至云数据库MongoDB版(副本集架构或分片集群架构)

  2. 等待正向同步实例的运行状态处于运行中,创建反向实例。

    1. 同步任务列表找到创建的正向同步实例。

    2. 在目标实例右侧,选择更多设置 > 创建反向任务

    3. 在弹出的提示对话框,单击确定

      等待反向实例预检查完成,运行状态处于同步初始化中

      说明
      • 若您未开启自动刷新功能,则需要手动单击操作上方的刷新按钮,以刷新同步实例的运行状态

      • 若预检查失败,请单击查看原因,然后单击预检查失败项后查看详情,根据提示修复后重新进行预检查。

    4. 反向实例创建好后,暂无需操作。

  3. 当业务数据库出现异常无法连接时,执行如下操作来恢复您的业务。

    1. 暂停原DTS实例。

      1. 同步任务列表页面,找到原DTS实例。

      2. 在目标实例右侧,选择更多设置 > 暂停任务

      3. 在弹出的提示对话框,单击确定

      4. 在弹出的暂停任务成功对话框,单击确定

    2. 将业务切换至灾备数据库。

    3. 启动反向实例。

      1. 同步任务列表页面,单击生成的反向实例ID。

      2. (可选)在左侧导航栏,单击任务管理

      3. 实例进展区域,单击增量写入模块。

      4. 基本信息页签,单击操作右侧的启动增量写入

      5. 在弹出的提示对话框,单击确定

  4. 当业务数据库恢复后,执行如下操作切换业务数据库并恢复同步实例。

    1. 将业务切换回原来的业务数据库。

    2. 等待反向实例无延迟后,暂停反向实例。

      反向实例会将业务直接写入灾备数据库的数据同步到原业务数据库。

    3. 等待反向实例暂停成功后,启动原来的正向同步实例。

业务交割场景

  1. 创建反向同步实例。

    1. 同步任务列表找到目标正向同步实例(原DTS实例)。

    2. 在目标实例右侧,选择更多设置 > 创建反向任务

    3. 在弹出的提示对话框,单击确定

      等待反向实例预检查完成,运行状态处于同步初始化中

      说明
      • 若您未开启自动刷新功能,则需要手动单击操作上方的刷新按钮,以刷新同步实例的运行状态

      • 若预检查失败,请单击查看原因,然后单击预检查失败项后查看详情,根据提示修复后重新进行预检查。

    4. 反向同步实例创建好后,暂无需操作。

  2. 等待增量数据采集模块运行且无延迟。

    您可以单击反向同步实例的ID,在任务管理页面的实例进展区域查看模块的状态和延迟时间。

  3. 暂停业务写入。

    为避免数据丢失,需要暂时中断业务,禁止新的数据写入到数据库。

  4. 暂停原DTS实例。

    1. 同步任务列表页面,找到原DTS实例。

    2. 在目标实例右侧,选择更多设置 > 暂停任务

    3. 在弹出的提示对话框,单击确定

    4. 在弹出的暂停任务成功对话框,单击确定

  5. 将业务切换为正向同步实例的目标库。

  6. 启动反向实例。

    1. 同步任务列表页面,单击生成的反向实例ID。

    2. (可选)在左侧导航栏,单击任务管理

    3. 实例进展区域,单击增量写入模块。

    4. 基本信息页签,单击操作右侧的启动增量写入

    5. 在弹出的提示对话框,单击确定

  7. 结束或释放正向同步实例。

    更多信息,请参见结束DTS实例释放DTS实例

常见问题

  • 创建正向同步实例时,如何选择规格?

    建议您先选择最小的规格(micro)。待创建好反向实例后,您可以根据业务量升级实例规格。升级规格的方法,请参见升级实例的链路规格

  • 业务数据库恢复后,DTS实例处于失败状态,如何处理?

    您可以启动DTS实例。操作方法,请参见启动DTS实例