本文介绍如何使用修改同步对象功能,解决DTS同步实例运行过程中表报错的问题。
前提条件
- 没有业务读取目标库的数据,或业务可以短时间不读取目标库的数据。
- 源库和目标库处于正常运行的状态。
- 除报错信息中的表以外,同步实例有其他待同步的对象。
- 当前实例的运行状态不能为修改同步对象中。
注意事项
- 修改同步对象会自动重启实例,在实例重启期间可能会导致源库与目标库数据不一致。
- 本方法需要清空目标表的数据。在您执行本方法的操作前:
- 请确保目标表中只有DTS在写入数据,或目标表中的数据可以被清空。
- 请确保与目标表关联的业务不会被影响。
实现流程
- 移除同步实例报错信息中的表或热点表。
- 清空目标库中报错信息表的数据。
- 重新添加报错信息中的表到同步实例中。
操作步骤
进入同步任务的列表页面。
登录DMS数据管理服务。
在顶部菜单栏中,单击集成与开发。
在左侧导航栏,选择 。
说明实际操作可能会因DMS的模式和布局不同,而有所差异。更多信息,请参见极简模式和自定义DMS界面布局与样式。
您也可以登录新版DTS同步任务列表页面。
在同步任务右侧,选择同步实例所属地域。
说明新版DTS同步任务列表页面,需要在页面左上角选择同步实例所属地域。
- 根据实际情况,移除报错的表或热点表。说明 查看热点表的方法,请参见查看热点表信息。
- 若该表所属的同步对象的粒度为整库:
- 在同步任务列表找到目标同步实例,并单击操作列的修改同步对象。
- 在已选择对象中勾选报错表所在的库,并单击移除该库。
- 在源库对象中以表为粒度勾选待同步的对象(不含报错的表),并单击重新添加至已选择对象。说明 更多信息,请参见移除同步对象。
- 依次单击下一步高级配置和下一步预检查并启动。
- 等待预检查通过率显示为100%时,单击修改成功,返回列表。
- 若该表所属的同步对象的粒度为表:
- 在同步任务列表找到目标同步实例,并单击操作列的修改同步对象。
- 在已选择对象中勾选报错的表,并单击移除该表。
- 依次单击下一步高级配置和下一步预检查并启动。
- 等待预检查通过率显示为100%时,单击修改成功,返回列表。
- 若该表所属的同步对象的粒度为整库:
- 清空目标库中报错表的数据。例如MySQL数据库,可以使用如下命令清空数据:
TRUNCATE TABLE XXX; DROP TABLE XXX;
- 重新将报错的表添加为待同步的对象。
- 在同步任务列表找到目标同步实例,并单击操作列的修改同步对象。
- 在源库对象中勾选报错的表,并单击重新添加至已选择对象。说明 更多信息,请参见新增同步对象。
- 依次单击下一步高级配置和下一步预检查并启动。
- 等待预检查通过率显示为100%时,单击修改成功,返回列表。
- 在同步任务列表找到目标同步实例,并单击操作列的修改同步对象。
- 等待实例自动重启后,查看是否还报错。