本文为您介绍DTS实例的常见限制,以帮助您提前了解相关注意事项及DTS功能的限制,从而有效减少实例异常的发生。
通用注意事项及限制
若源库类型与目标库类型相同,建议源和目标库版本保持一致,或者从低版本同步到高版本以保障兼容性。若DTS实例为高版本同步至低版本,可能存在数据库兼容性问题。
若DTS实例不包含库表结构任务(接收数据的目标对象不是通过DTS创建),则您需要自行确保源库与目标库的兼容性(如字段的类型、长度、约束)、目标库结构的完整性等,否则可能会导致DTS实例运行失败或数据丢失。
为确保数据的一致性和兼容性,建议使用DTS执行库表结构、全量和增量任务。
说明不同实例支持的任务类型不同,建议在确保目标库没有同名对象的前提下,同时选中该实例支持的所有任务类型。
若在使用库表列名映射功能时为非全表同步或迁移,则目标库比源库缺少的列的数据将会丢失。
在全量任务运行时,DTS将会占用源和目标库一定的读写资源,可能会导致数据库的负载上升。因此建议您在DTS实例运行前评估源库和目标库的性能,并在业务低峰期运行实例(例如源库和目标库的CPU负载在30%以下)。
在库表结构任务和全量任务阶段,请勿执行库或表结构变更的DDL操作,否则会导致DTS实例运行失败。
在DTS实例运行期间,若有除DTS外的数据写入目标库,则可能会导致源库与目标库数据不一致,甚至会导致DTS实例运行失败。
若仅执行全量任务,请勿向源库中写入新的数据,否则会导致源库与目标库的数据不一致。
DTS将尝试恢复在七天内运行失败的实例。因此,在业务切换至目标实例之前,请务必结束或释放该实例,或回收DTS访问目标数据库所使用账号的写权限,以避免该实例被自动恢复后导致目标数据库的数据被覆盖。
若实例运行失败,DTS技术支持人员将在8小时内尝试恢复该实例。在恢复失败实例的过程中,可能会对该实例进行重启、调整参数等操作。
说明在调整参数时,仅会修改实例的参数,不会对数据库中的参数进行修改。可能修改的参数,包括但不限于修改实例参数中的参数。
双向同步实例注意事项及限制
仅支持两个数据库之间的双向同步,暂不支持多个数据库之间的双向同步。
为保障双向同步实例的稳定性,仅正向任务支持同步DDL操作,反向任务不支持同步DDL操作。
双向同步任务时,DTS会在源和目标库中建立数据库
dts
,以避免数据循环同步,任务运行期间,请勿修改该库。dts
库可能会影响MySQL正常的主备同步,建议检查备库中是否存在dts
库及相关表。若不存在,您需按照主库中dts
的库表结构手动在备库中创建。当前仅RDS MySQL实例间、PolarDB MySQL版集群间、Tair(企业版)实例间,支持跨账号的双向同步任务。
双向同步实例包含正向和反向同步任务,在配置或重置双向同步实例时,若其中一个任务的目标对象是另一个任务待同步的对象:
仅允许其中一个任务同步全量和增量数据,另一个任务仅支持同步增量数据。
当前任务的源数据仅支持同步到当前任务的目标库,同步过来的数据不会作为另一个任务的源数据继续同步。
迁移实例注意事项及限制
迁移实例的付费方式仅支持按量付费(后付费)。
若您需要配置源库与目标库地域不同(跨境或跨地域)的迁移实例,源库和目标库需要满足如下条件:
若源库的接入方式为云实例,则源库需要开通外网地址。
若源库的接入方式不为云实例,则目标库需要开通外网地址。