数据迁移问题

更新时间:
复制 MD 格式
  • Q:执行数据迁移任务后,源库的数据是否还存在?

    A:DTS数据迁移和同步是将源库的数据复制到目标库中,不会影响源端数据。

  • Q:DTS支持哪些数据库实例的迁移?

    A:DTS支持各种数据源之间的数据迁移,如关系型数据库管理系统(RDBMS)、NoSQL数据库、联机分析处理(OLAP)数据库。支持的迁移实例,请参见迁移方案概览

  • Q:数据迁移的工作原理是什么?

    A:数据迁移的工作原理,请参见产品架构及功能原理。

  • Q:数据迁移任务长时间处于准备中状态,是否在遍历源站文件?

    A:会。任务创建后,DTS 先向源站发送 HEAD 请求探测数据情况,并遍历源站全部待迁移文件,遍历完成后才正式开始迁移数据。准备中阶段不提供迁移进度,耗时取决于源站待迁移的数据量,无固定预估时间。遍历结束后任务自动进入迁移阶段,无需人工干预。

  • Q:数据迁移任务是否可以修改迁移对象?

    A:不可以。

  • Q:数据迁移任务是否可以增加新表进行迁移?

    A:不可以。

  • Q:如何修改运行中的迁移任务的表和字段等迁移对象?

    A:迁移任务不支持修改迁移对象。

  • Q:暂停迁移任务后过一段时间再重启,是否会导致数据不一致?

    A:若迁移任务暂停期间源库有变化,则可能会导致源库与目标库数据不一致。待迁移任务重启并将增量数据迁移到目标库后,目标库数据将与源库一致。

  • Q:迁移任务是否可以转为同步任务?

    A:不可以,不同类型的任务不支持相互转换。

  • Q:是否可以只迁移数据不迁移结构?

    A:可以。在配置迁移任务步骤时,不勾选库表结构迁移即可。

  • Q:数据迁移实例的源和目标端数据不一致,可能原因有哪些?

    数据不一致的可能原因如下:

    1. 配置任务时没有清空目标端数据,且目标端有存量数据。

    2. 配置任务时只选择了增量迁移模块,没有选择全量迁移模块。

    3. 配置任务时只选择了全量迁移模块,没有选择增量迁移模块,且任务结束后源端数据有变更。

    4. 目标端有除了DTS任务以外的数据写入。

    5. 增量写入存在延迟,增量数据还没有全部写入目标端。

  • Q:数据迁移任务是否可以修改源库在目标库的名称?

    A:可以。修改源库在目标库名称的方法,请参见库表列映射。

  • Q:是否支持同一实例内的数据迁移?

    A:支持。同一实例内数据迁移的方法,请参见不同库名间的数据同步或迁移。

  • Q:是否支持DML或DDL操作的实时迁移?

    支持,关系数据库之间的数据支持的DML操作为INSERT、UPDATE、DELETE,支持的DDL操作为CREATE、DROP、ALTER、RENAME、TRUNCATE。

    说明

    不同场景下支持的DML或DDL操作有所区别,请在迁移方案概览中选择符合业务场景的链路,在具体链路配置文档中查看支持的DML或DDL操作。

  • Q:只读实例是否可以作为迁移任务的源实

    若迁移任务不需要进行增量数据迁移,则只读实例可以作为源实例;若迁移任务需要进行增量数据迁移,有如下两种情况:

    • 实例为记录事务日志的只读实例(如RDS MySQL 5.7或8.0版本),可以作为源实例。

    • 实例为不记录事务日志的只读实例(如RDS MySQL 5.6版本),不可以作为源实例。

  • Q:DTS是否支持分库分表的数据迁移?

    A:支持,例如将MySQL、PolarDB MySQL中的分库分表迁移到云原生数据仓库 AnalyticDB MySQL 版中,以实现多表归并。

  • Q:迁移任务是否支持过滤部分字段或数据?

    A:支持。通过映射功能可以过滤无需迁移的列,通过指定SQL Where条件可以过滤待迁移数据。更多信息,请参见同步或迁移部分列和过滤待迁移数据。

  • Q:为什么迁移任务结束后目标实例比源实例的数据量小?

    A:若迁移过程中进行了数据过滤,或者源实例内表碎片较多,迁移完成后目标实例的数据量可能会小于源实例。

  • Q:为什么迁移任务显示已完成的值超过总数?

    A:显示的总数为预估值,在迁移任务完成后会将总数调整为准确值。

  • Q:数据迁移时目标数据库新增increment_trx表的作用是什么?

    A:数据迁移时目标数据库新增一个increment_trx表,是DTS增量迁移在目标实例中创建的位点表,主要用于记录增量迁移的位点,解决任务异常重启后的断点续传问题。在迁移过程中请勿删除,否则会导致迁移失败。

  • Q:数据迁移任务在全量迁移阶段是否支持断点续传?

    A:支持。在全量迁移阶段暂停任务后重启任务,任务会从已经迁移完成的位置开始继续迁移,不需要重新开始。

  • Q:如何将非阿里云实例迁移到阿里云?

    A:将非阿里云实例迁移到阿里云的方法,请参见从第三方云迁移至阿里云。

  • Q:如何将本地Oracle数据库迁移到PolarDB?

    A:将本地Oracle数据库迁移到PolarDB的方法,请参见自建Oracle迁移至PolarDB PostgreSQL版(兼容Oracle)。

  • Q:全量迁移阶段没完成的数据迁移任务是否可以暂停?

    A:可以。

  • Q:如何将RDS MySQL部分数据迁移到自建MySQL?

    A:您可以在配置迁移任务过程中,根据需求在源库对象中选择待迁移的对象或在已选择对象中进行过滤。MySQL间的迁移操作类似,您可以参考自建MySQL迁移至RDS MySQL进行操作 。

  • Q:同一个阿里云账号下的RDS实例如何迁移?

    A:DTS支持RDS实例之间的迁移和同步,配置方法请参见迁移方案概览中的相关配置文档。

  • Q:迁移任务启动后源库就有IOPS报警,此时如何保证源库业务稳定?

    DTS任务运行时,若源库实例负载比较大,有如下三种方法可以减少DTS任务对源库的影响:

    1. 提高源库实例的规格。

    2. 先暂停DTS任务,等源库负载降低后再重启任务。

    3. 调小DTS任务的速率。调整速率的方法,请参见调整全量迁移速率。

  • Q:为什么数据迁移任务无法选择名为test的数据库?

    A:DTS数据迁移不支持迁移系统数据库,请选择业务自建的数据库进行迁移。

  • Q:为什么源库为PolarDB-X 1.0的迁移实例不显示延迟?

    A:源库为PolarDB-X 1.0的实例是分布式任务,而DTS监控的指标只在子任务中存在,因此源为PolarDB-X 1.0的实例不显示延迟信息。您可以单击实例ID,在实例任务管理的子任务详情中查看延迟信息。

  • Q:为什么DTS无法迁移MongoDB数据库?

    A:可能是因为待迁移的数据库为local或者admin,DTS不支持MongoDB的admin和local作为源和目标库。

  • Q:为什么多表归并任务报错DTS-071001?

    A:可能是在多表归并任务运行时,在源库进行了Online DDL操作,对源库的表结构等进行了修改,且未手动在目标库进行相应的修改。

  • Q:在旧版控制台配置任务时添加白名单失败,如何处理?

    A:请使用新版控制台配置任务。

  • Q:DTS数据迁移过程中,源库执行了DDL操作导致任务失败,如何处理?

    A:根据源库执行的DDL内容,手动在目标端执行DDL后重启任务。数据迁移时,请勿对源库的迁移对象使用pt-online-schema-change等类似工具执行在线DDL变更,否则会导致迁移失败。如果除DTS以外的数据没有写入目标库,您可以使用数据管理DMS(Data Management)来执行在线DDL变更。

  • Q:DTS数据迁移过程中,目标库执行了DDL操作导致任务失败,如何处理?

    A:如果在DTS进行增量迁移过程中删除了目标库中的某一个库或表,导致任务异常。您可以重新配置任务,待迁移对象不选择导致任务失败的库或表。

  • Q:迁移任务释放后还可以恢复吗?重新配置任务能否保证数据一致性?

    A:迁移任务释放后不可以恢复。重新配置任务时,如果不选择全量迁移,在任务释放到新任务启动这段时间新增的数据无法迁移到目标库,无法保障数据一致性。如果业务对数据要求比较精确,您可以删除目标库的数据,然后重新配置迁移任务,并在任务步骤同时选中库表结构迁移、增量迁移和全量迁移。

  • Q:DTS全量迁移任务长时间没进度,如何处理?

    A:若待迁移的表为无主键的表,全量迁移会非常慢。建议为源库待迁移的表增加主键后再进行迁移。

  • Q:同名的表进行数据迁移时,是否支持源表数据在目标表不存在时才进行传输?

    A:支持。在配置任务时,您可以将目标已存在表的处理模式选择为忽略报错并继续执行。表结构一致的情况下,在全量迁移期间目标库遇到与源库主键的值相同的记录时,源库中的该条记录不会迁移至目标库中。

  • Q:如何配置跨账号的迁移任务?

    A:您需要先明确跨账号任务的场景,然后使用数据库实例所属的阿里云账号配置RAM授权,最后再配置跨阿里云账号的任务。

  • Q:数据迁移任务如何连接本地数据库?

    A:您可以将本地数据库的接入方式选择为公网IP来配置迁移任务。示例操作,请参见自建MySQL迁移至RDS MySQL。

  • Q:数据迁移失败并提示DTS-31008,如何处理?

    A:您可以单击查看原因或者根据报错信息在错误码概览中查看解决方法。

  • Q:使用专线接入自建数据库时网络不通,如何处理?

    A:请检查专线是否正确配置了DTS相关的IP白名单。需添加的IP白名单清单,请参见添加DTS服务器IP地址白名单。

  • Q:SQL Server为源的迁移任务,是否支持迁移函数?

    A:不支持。若迁移对象选择的粒度为表,且其他对象(如视图、触发器、存储过程)也不会被迁移至目标库。

  • Q:DTS全量迁移速度慢,如何处理?

    A:可能是需要迁移的数据量比较大,请耐心等待。您可以进入任务详情页面,在任务管理的全量迁移模块查看迁移进度。

  • Q:任务报内部错误,如何处理?

    A:您可以通过钉钉(钉钉通讯客户端下载地址)进入到DTS客户交流钉钉群(群号:116655009709),进行咨询。

  • Q:结构迁移报错,如何处理?

    A:单击实例ID,进入任务详情页面,在任务管理中查看结构迁移模块的具体报错信息,然后针对具体报错信息进行解决。常见报错解决方法,请参见错误码概览。

  • Q:库表结构迁移和全量迁移是否收费?

    A:不收费。更多收费信息,请参见计费项。

  • Q:Redis间的数据迁移任务,目标端的zset数据是否会被覆盖?

    A:目标端的zset会被覆盖。若目标端已经存在与源端相同的key,DTS会先删除目标端对应key的zset,然后将源端zset集合中的每个对象zadd到目标端。

  • Q:全量迁移对源库有什么影响?

    A:DTS全量迁移的流程是先进行数据切片,再对切片范围内的数据进行读取和写入。对于源库,在切片过程中会使源库的IOPS升高;在对切片范围内数据读取的过程中,对源库的IOPS、CachePool、源库出口带宽会造成一定的影响。结合DTS的实践经验,这些影响均可忽略。

  • Q:PolarDB-X 1.0为源时,迁移任务的源端PolarDB-X 1.0是否支持扩缩节点?

    A:不支持。若源端PolarDB-X 1.0发生节点的扩缩容,您需要重新配置任务。

  • Q:DTS迁移到Kafka的数据可以保证唯一性吗?

    A:不可以。由于写入到Kafka中的数据都是追加的形式,所以在DTS任务重启或重复拉取到源端日志的时候可能会有重复数据。DTS保证数据的幂等性,即数据是按顺序进行排列的,重复数据的最新值会排在后面。

  • Q:先配置一个全量迁移任务,再配置增量数据迁移任务,是否会出现数据不一致?

    A:可能会出现数据不一致。迁移任务单独配置增量数据迁移时,增量迁移任务启动后才开始迁移数据,在增量迁移任务启动之前,源实例产生的增量数据都不会被同步到目标实例。如果需要进行不停机迁移,建议配置任务时,迁移类型选择结构迁移、全量数据迁移及增量数据迁移。

  • Q:配置迁移增量任务是否需要勾选库表结构迁移?

    A:结构迁移是在数据迁移开始前,先将迁移对象的定义迁移到目标实例,例如将表A的表定义迁移到目标实例。如果需要进行增量迁移,为了保证迁移数据一致性,建议将库表结构迁移、全量数据迁移及增量数据迁移全部勾选上。

  • Q:为什么将自建数据库迁移到RDS过程中,RDS使用的存储空间会比源数据库大?

    A:因为DTS进行的是逻辑迁移,它是将待迁移数据封装成SQL后,迁移到目标RDS实例中的。此时会在目标RDS实例中产生Binlog数据,所以迁移过程中,RDS使用的存储空间可能比源数据库大。

  • Q:DTS是否支持VPC网络下的MongoDB的迁移?

    A:支持,DTS当前已经支持VPC网络的云数据库MongoDB作为迁移的源数据库。

  • Q:数据迁移期间如果源数据库出现数据变化,迁移数据会产生什么结果?

    A:如果迁移任务配置了库表结构迁移、全量迁移、增量迁移,那么迁移期间源数据库出现的数据变化,都会被DTS迁移到目标库。

  • Q:释放已完成的迁移任务,是否会影响被迁移数据库的使用?

    A:不会影响。迁移任务完成后(运行状态为已完成),您可以放心释放该迁移任务。

  • Q:DTS是否支持MongoDB增量迁移?

    A:支持。相关配置案例,请参见迁移方案概览。

  • Q:迁移任务的源实例为RDS实例和以公网IP接入的自建数据库实例有什么区别?

    A:配置迁移任务如果选择RDS实例时,那么当RDS实例发生DNS修改,网络类型切换等变更时,DTS迁移任务可以自适应,有效保证链路可靠性。

  • Q:DTS是否支持VPC内的ECS上的自建数据库迁移到RDS实例?

    支持。

    • 若源ECS实例和目标RDS实例在相同地域,DTS可以直接访问VPC内ECS实例上的自建数据库。

    • 若源ECS实例和目标RDS实例在不同的地域,ECS实例需要挂载弹性公网IP,配置迁移任务时,源实例选择ECS实例,DTS会自动使用ECS实例的弹性公网IP访问ECS实例上的数据库。

  • Q:DTS迁移过程中,是否会锁表?对源数据库是否有影响?

    A:DTS在进行全量数据迁移和增量数据迁移的过程中,均不会对源端数据库进行锁表。在全量数据迁移和增量数据迁移的过程中,迁移源端的数据表均可以正常读写访问。

  • Q:DTS进行RDS迁移时,是从RDS的主库还是备库获取数据?

    A:DTS进行数据迁移时,是从RDS的主库上拉取数据。

  • Q:DTS是否支持定时自动迁移?

    A:DTS暂时还不支持定时启动数据迁移任务。

  • Q:DTS是否支持VPC模式下的RDS实例的数据迁移?

    A:支持,配置迁移任务时,直接配置RDS实例ID即可。

  • Q:DTS同一账号或跨账号迁移、同步时,对于ECS、RDS实例是走内网还是公网?是否会收取流量费用?

    DTS进行同步或迁移任务时,使用的网络(内网或公网)与是否跨账号无关,是否收取流量费用取决于任务类型。

    • 使用的网络

      • 迁移任务:如果是进行同一个地区内部的数据迁移,那么DTS会使用内网连接ECS、RDS实例。如果是进行跨地区的迁移,那么DTS会使用外网连接源实例(ECS、RDS),使用内网连接目标RDS实例。

      • 同步任务:使用内网。

    • 流量费用

      • 迁移任务:收取公网出云流量费用,其他类型均的DTS实例不收取流量费用。公网出云流量费用,是指目标数据库实例的接入方式为公网IP时产生的流量费用。

      • 同步任务:不收取流量费用。

  • Q:使用DTS进行数据迁移,源数据库的数据会不会在迁移后被删除掉?

    A:不会,DTS进行数据迁移时,实际是将源数据库的数据复制一份到目标库,不会对源数据库的数据有影响。

  • Q:DTS在执行RDS实例间的数据迁移时,是否可以指定迁移目标库的名称?

    A:可以。您可以在执行RDS实例间的数据迁移时,使用DTS提供的库名映射功能来指定迁移目标库的名称,详情请参见不同库名间的数据同步或迁移。

  • Q:DTS迁移任务的源端无法连接ECS实例,如何处理?

    A:可能是ECS实例未开放公网IP,请给ECS实例绑定弹性IP后重试。绑定弹性IP的方法,详情请参见弹性公网IP。

  • Q:为什么Redis间的迁移任务不显示全量迁移?

    A:Redis间的迁移支持全量数据迁移和增量数据迁移,合并显示为增量迁移。

  • Q:全量迁移可以跳过吗?

    A:可以。跳过全量迁移后增量迁移会继续向下进行,但是可能会报错,建议您不要跳过全量迁移。

  • Q:集群版的Redis是否支持以公网IP接入DTS?

    A:不支持,当前仅单机版的Redis支持以公网IP接入DTS的迁移实例。

  • Q:从MySQL 8.0迁移到MySQL 5.6需要注意什么?

    A:您需要在MySQL 5.6中创建好数据库后再进行迁移操作。建议源和目标库版本保持一致,或者从低版本迁移到高版本以保障兼容性。如果是高版本迁移至低版本,可能存在数据库兼容性问题。

  • Q:是否可以将源库中的账号迁移至目标库?

    A:当前仅RDS MySQL实例间的迁移任务支持迁移账号,其余迁移任务暂不支持。

  • Q:消息队列Kafka版为目标端时的参数如何配置?

    A:请根据实际情况进行配置,部分特殊参数的配置方法请参见配置消息队列Kafka版实例的参数。

  • Q:如何定时全量迁移?

    A:您可以通过数据集成功能的调度策略配置,定期将源库中的结构和存量数据迁移至目标库中。更多信息,请参见配置RDS MySQL间的数据集成任务。

  • Q:是否支持将ECS自建的SQL Server迁移至本地自建的SQL Server?

    A:支持。本地自建的SQL Server需要接入到阿里云,详情请参见准备工作概览。

  • Q:是否支持迁移其他云的PostgreSQL数据库?

    当其他云的PostgreSQL数据库需允许DTS通过公网访问时,支持通过DTS迁移数据。

    说明

    若PostgreSQL的版本低于10.0,则不支持增量迁移。

  • Q:是否支持将MySQL的数据迁移到Mycat?

    A:支持,您可以将Mycat以自建MySQL的方式接入到阿里云,然后使用DTS进行数据迁移。

  • Q:数据迁移期间是否支持DDL操作的增量迁移?

    A:部分迁移场景下支持,详情请参见迁移任务的注意事项及限制。

  • Q:触发器(TRIGGER)迁移后目标库缺失

    • 可能原因:DTS任务使用的源库数据库账号缺少EVENT权限,或缺少对information_schema.TRIGGERS表的SELECT权限,导致DTS无法读取触发器元数据,从而跳过触发器同步。

    • 解决方案:

      • 方法一:确认源库账号已被授予所需权限(EVENT权限及information_schema.TRIGGERS表的SELECT权限)后,重新执行结构迁移。

      • 方法二:在目标库中手动创建缺失的触发器。

    说明

    DTS通常不建议配置触发器迁移,因为触发器在目标端执行可能引发数据不一致问题。如无特殊需求,建议在DTS任务配置中排除触发器对象。

  • Q:迁移存储过程时DEFINER属性自动转换说明

    A:DTS迁移存储过程时,会自动将源端存储过程的DEFINER属性转换为目标库账号,并将SQL SECURITY模式改为INVOKER。此为标准化处理行为,目的是确保迁移后的存储过程可在目标库账号权限范围内正常执行。

    • 若因此转换导致结构校验报错,但存储过程本身功能不受影响,可选择忽略该报错。

    • 若业务需要在目标端恢复原DEFINER属性,需在目标端手动删除该存储过程后,使用具备相应权限的账号重新创建。

  • Q:数据同步或迁移任务运行时,修改目标库数据会有什么影响?

    • 目标库修改数据有可能导致DTS任务失败。数据迁移或同步过程中,如果对目标库待迁移或同步的对象执行操作,可能会导致主键冲突,无更新记录等情况,最终DTS任务失败。但是可以执行不会导致DTS任务中断的操作,比如在目标实例创建一个表并执行写入,因为不在该表迁移或同步对象表中,因此不会引导致DTS失败。

    • 由于DTS是读取源实例数据库信息,将其全量数据、结构数据、增量数据迁移或同步到目标实例中,因此任务进行时目标库修改数据可能会被来自源库迁移或同步的数据覆盖。

    Q:是否支持跨账号的数据迁移或数据同步?

    A:支持。配置方式,请参见配置跨阿里云账号的任务。

    Q:数据同步或迁移任务运行时,源库和目标库是否可以同时写入数据?

    A:可以,但在DTS实例运行期间,若存在除DTS外的其他数据源向目标库写入数据,则可能会导致目标库数据或DTS实例异常。

    Q:DTS是否支持按时间段抽样同步或迁移数据?

    A:不支持。

    Q:同步或迁移数据时,是否需要手动在目标库创建数据表?

    A:对于支持库表结构任务的DTS实例(库表结构同步或库表结构迁移),若您配置了库表结构任务(同步类型勾选了库表结构同步或者迁移类型勾选了库表结构迁移),则无需手动在目标库创建数据表。

    Q:同步或迁移数据时,源库和目标库的网络是否需要打通?

    A:不需要。

    Q:如何使用API给同步或迁移任务配置ETL功能?

    A:您可以在API接口的预留参数Reserve中,通过公共参数(如etlOperatorCtl和etlOperatorSetting)进行配置。更多信息,请参见ConfigureDtsJob和Reserve参数说明。

    Q:DTS同步或迁移结束后,源库数据是否会被保留?

    A:是,DTS不会删除源库的数据。若您无需保留源库中的数据,请自行删除。

    Q:同步或迁移实例运行后是否支持调整速率?

    A:支持。更多信息,请参见调整迁移速率。

    Q:增量同步报错,提示数据包过大或目标端 max_allowed_packet 值不足,如何解决?

    • 可能原因::

      源端存在单行数据量较大的记录,该记录在增量同步时超过了目标端 max_allowed_packet 参数的限制,导致同步报错。

    • 解决方案::

      1. 登录源端数据库,查询当前 max_allowed_packet 的参数值:

        SHOW VARIABLES LIKE 'max_allowed_packet';

        记录该值(例如 1073741824,即 1 GB)。

      2. 登录 RDS 管理控制台(若目标端为 PolarDB MySQL,则登录 PolarDB 控制台),在目标端数据库实例的参数配置页面,将 max_allowed_packet 参数值调整为不低于源端的值。

      3. 参数修改完成后,在 DTS 控制台重启同步任务,验证同步是否恢复正常。

    Q:同步中断数小时,怀疑目标端存在 MDL 锁,如何处理?

    • 可能原因::

      目标端存在由长 DDL 操作(如大表加字段、重建索引等)引起的元数据锁(MDL 锁),阻塞了 DTS 的增量数据写入,导致同步链路长时间中断。

    • 解决方案::

      1. 登录 RDS 管理控制台,进入目标端数据库实例,执行 SHOW FULL PROCESSLIST 定位持有 MDL 锁的异常会话,并将其终止(kill)。

      2. 登录 DTS 控制台,修改同步对象,将受 MDL 锁影响的表从同步对象中移除。

      3. 在目标端数据库中删除该表(操作前请确认数据已备份或数据可被清空)。

      4. 等待 DTS 同步任务恢复正常运行且同步延迟归零后,再次修改同步对象,将该表重新添加回同步范围,完成重迁。

    Q:增量同步报错,提示目标库缺少临时表或出现 SELECT INTO 冲突,如何解决?

    • 可能原因::

      此问题并非目标库真正缺少临时表,而是源库开启了变更数据捕获(CDC)功能后,DTS 创建的触发器拦截了 SELECT INTO 的隐式建表操作,导致数据同步过程中出现冲突。

    • 解决方案::

      1. 确认源端事务日志文件是否存在且完整。

      2. 在源端数据库中关闭 CDC 功能。

      3. 登录 DTS 控制台,重新配置同步任务,在增量同步方式中选择解析源库日志,然后重启任务。

    Q:使用DTS进行数据同步或迁移,是否会覆盖目标端已存在的数据?

    A:以数据同步为例,DTS的默认行为和相关参数如下:

    DTS默认行为:若在同步任务运行时,若遇到主键或唯一键冲突:

    • 表结构一致的情况下,如在目标库遇到与源库主键或唯一键的值相同的记录:

      • 全量期间,DTS会保留目标集群中的该条记录,即源库中的该条记录不会同步至目标数据库中。

      • 增量期间,DTS不会保留目标集群中的该条记录,即源库中的该条记录会覆盖至目标数据库中。

    • 表结构不一致的情况下,可能会导致无法初始化数据、只能同步部分列的数据或同步失败,请谨慎操作。

    相关参数:在配置任务的过程中,您可以通过目标已存在表的处理模式参数管理相关数据的处理方式。

    • 预检查并报错拦截:检查目标数据库中是否有同名的表。如果目标数据库中没有同名的表,则通过该检查项目;如果目标数据库中有同名的表,则在预检查阶段提示错误,数据同步任务不会被启动。

      说明

      如果目标库中同名的表不方便删除或重命名,您可以更改该表在目标库中的名称,请参见库表列名映射。

    • 忽略报错并继续执行:跳过目标数据库中是否有同名表的检查项。

      警告

      选择为忽略报错并继续执行,可能导致数据不一致,给业务带来风险,例如:

      • 表结构一致的情况下,如在目标库遇到与源库主键或唯一键的值相同的记录:

        • 全量期间,DTS会保留目标集群中的该条记录,即源库中的该条记录不会同步至目标数据库中。

        • 增量期间,DTS不会保留目标集群中的该条记录,即源库中的该条记录会覆盖至目标数据库中。

      • 表结构不一致的情况下,可能会导致无法初始化数据、只能同步部分列的数据或同步失败,请谨慎操作。

    建议:为保证数据一致性,建议您在业务允许的条件下删除目标表,再配置DTS任务。