数据迁移功能帮助您实现同构或异构数据源之间的数据迁移,适用于数据上云迁移、阿里云内部跨实例数据迁移、数据库拆分扩容等业务场景。本文将介绍数据迁移功能支持的数据库、版本和迁移类型,以及具体的配置文档。

说明
  • DTS控制台全面升级,新版控制台优化配置流程并新增多条迁移链路,欢迎体验。
  • 数据迁移在某些场景下可实现部分数据同步的功能,但数据同步的网络稳定性更好、功能更丰富,推荐您使用数据同步功能。更多区别,请参见数据迁移和数据同步的区别
  • 通过云数据库专属集群MyBase创建的实例可被DTS正常读取,下表中的配置文档同样适用于数据库专属集群MyBase的迁移场景(例如从自建MySQL迁移至云数据库专属集群MyBase中的RDS MySQL实例)。

迁移类型说明

迁移类型 说明
库表结构迁移

DTS将源库中待迁移对象的结构定义迁移至目标库(例如表、视图、触发器、存储过程等)。

对于异构数据库之间的结构迁移,DTS会根据源库和目标库的语法,将结构定义的语法进行转换,例如将Oracle中的number转换为MySQL中的decimal。

全量数据迁移 DTS将源库中待迁移对象的存量数据,全部迁移到目标库中。如果在配置数据迁移任务时,仅选择了结构迁移和全量数据迁移,那么在迁移过程中,源库的新增数据不会被迁移至目标库。
说明 为保障数据一致性,迁移期间请勿在源库中写入新的数据。如需实现不停机迁移,您需要在配置数据迁移任务时,同时选择 结构迁移全量数据迁移增量数据迁移
增量数据迁移 DTS会先在源库中实现用于全量数据迁移的静态快照,然后将快照数据迁移到目标库,最后再将迁移过程中源库产生的增量数据实时同步至目标库。
说明 增量数据迁移会保持实时同步的状态,所以迁移任务不会自动结束,您需要手动结束迁移任务。

概览

数据迁移支持的数据库,以及常见迁移场景对应的配置文档如下:

支持的数据库及迁移类型

下表中各类自建数据库(例如自建MySQL、SQL Server、Oracle等)的支持的部署位置如下:

  • 有公网IP的自建数据库
  • 无公网IP:Port的数据库(通过数据库网关DG接入)
  • 通过云企业网CEN接入的自建数据库
  • ECS上的自建数据库
  • 通过专线/VPN网关/智能接入网关接入的自建数据库
源数据库 目标数据库 迁移类型
  • 自建MySQL

    5.1、5.5、5.6、5.7、8.0版本

  • RDS MySQL

    所有版本

自建MySQL

5.1、5.5、5.6、5.7、8.0版本

  • 结构迁移
  • 全量数据迁移
  • 增量数据迁移

RDS MySQL

所有版本

  • 结构迁移
  • 全量数据迁移
  • 增量数据迁移

PolarDB MySQL

所有版本

  • 结构迁移
  • 全量数据迁移
  • 增量数据迁移

DRDS

所有版本

说明 DRDS中的数据库须基于RDS MySQL创建,DTS暂不支持基于PolarDB MySQL创建的数据库。
  • 全量数据迁移
  • 增量数据迁移

云原生数据仓库AnalyticDB PostgreSQL版

4.3、6.0版本

  • 结构迁移
  • 全量数据迁移
  • 增量数据迁移

云原生数据仓库AnalyticDB MySQL版

2.0、3.0版本

  • 结构迁移
  • 全量数据迁移
  • 增量数据迁移
  • RDS PostgreSQL

    9.4、10、11、12、13版本

  • 自建PostgreSQL

    9.4.8及以上版本、9.5、9.6、10.x、11.x、12、13版本

  • 全量数据迁移
  • 增量数据迁移

自建Oracle(RAC或非RAC架构)

9i、10g、11g、12c、18c、19c版本

  • 结构迁移
  • 全量数据迁移
  • 增量数据迁移

阿里云消息队列Kafka版

0.10.1.0-2.x版本

自建Kafka

0.10.1.0-2.7.0版本

  • 结构迁移
  • 全量数据迁移
  • 增量数据迁移
  • 自建Db2

    9.7~11.5版本

  • 自建Db2 for i

    7.3、7.4版本

  • 结构迁移
  • 全量数据迁移
  • 增量数据迁移

RDS MariaDB

10.3版本

RDS MariaDB

10.3版本

  • 结构迁移
  • 全量数据迁移
  • 增量数据迁移

RDS MySQL

所有版本

  • 结构迁移
  • 全量数据迁移
  • 增量数据迁移

自建MySQL

5.1、5.5、5.6、5.7、8.0版本

  • 结构迁移
  • 全量数据迁移
  • 增量数据迁移
RDS PPAS

所有版本

PolarDB-O

所有版本

  • 结构迁移
  • 全量数据迁移
  • 增量数据迁移

PolarDB MySQL

所有版本

PolarDB MySQL

所有版本

  • 结构迁移
  • 全量数据迁移
  • 增量数据迁移

自建MySQL

5.1、5.5、5.6、5.7、8.0版本

  • 结构迁移
  • 全量数据迁移
  • 增量数据迁移

RDS MySQL

所有版本

  • 结构迁移
  • 全量数据迁移
  • 增量数据迁移

DRDS

所有版本

说明 DRDS中的数据库须基于RDS MySQL创建,DTS暂不支持基于PolarDB MySQL创建的数据库。
  • 结构迁移
  • 全量数据迁移
  • 增量数据迁移

云原生数据仓库AnalyticDB MySQL版

3.0版本

说明 仅支持在新版控制台配置。
  • 结构迁移
  • 全量数据迁移
  • 增量数据迁移

自建Oracle(RAC或PDB架构、非RAC架构)

9i、10g、11g、12c、18c、19c版本

  • 结构迁移
  • 全量数据迁移
  • 增量数据迁移

PolarDB-O

所有版本

PolarDB-O

所有版本

  • 结构迁移
  • 全量数据迁移
  • 增量数据迁移

自建Oracle(RAC或非RAC架构)

9i、10g、11g、12c、18c、19c版本

  • 结构迁移
  • 全量数据迁移
  • 增量数据迁移

阿里云消息队列Kafka版

0.10.1.0~2.x版本

自建Kafka

0.10.1.0~2.7.0版本

  • 结构迁移
  • 全量数据迁移
  • 增量数据迁移

PolarDB PostgreSQL

11版本

自建Oracle(RAC或非RAC架构)

9i、10g、11g、12c、18c、19c版本

  • 全量数据迁移
  • 增量数据迁移

MaxCompute

所有版本

  • 自建MySQL

    5.1、5.5、5.6、5.7、8.0版本

  • RDS MySQL

    所有版本

  • 结构迁移
  • 全量数据迁移
  • 自建SQL Server

    2005、2008、2008R2、2012、2014、2016、2017版本

    说明
    • 暂不支持SQL Server Cluster或SQL Server AlwaysOn High Availability Group。
    • 源库为2005版本时不支持增量数据迁移。
  • RDS SQL Server

    2008、2008R2、2012、2014、2016、2017版本

    说明 源库为2008或2008R2版本时不支持增量数据迁移。

自建SQL Server

2005、2008、2008R2、2012、2014、2016、2017版本

说明 暂不支持SQL Server Cluster或SQL Server AlwaysOn High Availability Group。
  • 结构迁移
  • 全量数据迁移
  • 增量数据迁移

RDS SQL Server

2008、2008R2、2012、2014、2016、2017版本

  • 结构迁移
  • 全量数据迁移
  • 增量数据迁移
RDS SQL Server

2008、2008R2、2012、2014、2016、2017版本

说明 源库为2008或2008R2版本时不支持增量数据迁移。
云原生数据仓库AnalyticDB MySQL版

2.0、3.0版本

自建Oracle(RAC或非RAC架构)

9i、10g、11g、12c、18c、19c版本

自建Oracle(RAC或非RAC架构)

9i、10g、11g、12c、18c、19c版本

  • 结构迁移
  • 全量数据迁移
  • 增量数据迁移

PolarDB-O

所有版本

  • 结构迁移
  • 全量数据迁移
  • 增量数据迁移

RDS PPAS

9.3、10版本

  • 结构迁移
  • 全量数据迁移
  • 增量数据迁移

自建MySQL

5.1、5.5、5.6、5.7、8.0版本

  • 结构迁移
  • 全量数据迁移
  • 增量数据迁移

RDS MySQL

所有版本

  • 结构迁移
  • 全量数据迁移
  • 增量数据迁移

PolarDB MySQL

所有版本

  • 结构迁移
  • 全量数据迁移
  • 增量数据迁移

DRDS

所有版本

说明 DRDS中的数据库须基于RDS MySQL创建,DTS暂不支持基于PolarDB MySQL创建的数据库。
  • 全量数据迁移
  • 增量数据迁移

云原生数据仓库AnalyticDB MySQL版

2.0、3.0版本

  • 结构迁移
  • 全量数据迁移
  • 增量数据迁移

云原生数据仓库AnalyticDB PostgreSQL版

4.3、6.0版本

  • 结构迁移
  • 全量数据迁移
  • 增量数据迁移

阿里云消息队列Kafka版

0.10.1.0-2.x版本

自建Kafka

0.10.1.0-2.7.0版本

  • 结构迁移
  • 全量数据迁移
  • 增量数据迁移

PolarDB PostgreSQL

11版本

  • 结构迁移
  • 全量数据迁移
  • 增量数据迁移
  • 自建PostgreSQL

    9.4.8及以上版本、9.5、9.6、10.x、11.x、12、13版本

  • RDS PostgreSQL

    9.4、10、11、12、13版本

  • 结构迁移
  • 全量数据迁移
  • 增量数据迁移
  • 自建PostgreSQL

    9.4.8及以上版本、9.5、9.6、10.x、11.x、12、13版本

  • RDS PostgreSQL

    9.4、10、11、12、13版本

  • 自建MySQL

    5.1、5.5、5.6、5.7、8.0版本

  • RDS MySQL

    所有版本

说明 仅支持在新版控制台配置。
  • 全量数据迁移
  • 增量数据迁移
  • 自建PostgreSQL

    9.4.8及以上版本、9.5、9.6、10.x、11.x、12、13版本

  • RDS PostgreSQL

    9.4、10、11、12、13版本

  • 结构迁移
  • 全量数据迁移
  • 增量数据迁移

PolarDB-O

所有版本

说明 仅支持在新版控制台配置。
  • 全量数据迁移
  • 增量数据迁移
  • 自建MongoDB(单节点、副本集或分片集群架构)

    3.0、3.2、3.4、3.6或4.0版本

  • 阿里云MongoDB实例(单节点、副本集或分片集群架构)

    3.4、4.0、4.2版本

  • 自建MongoDB(单节点、副本集或分片集群架构)

    3.0、3.2、3.4、3.6或4.0版本

  • 阿里云MongoDB实例(单节点、副本集或分片集群架构)

    3.4、4.0、4.2版本

  • 全量数据迁移
  • 增量数据迁移
说明
  • 属于NoSQL数据库,无需结构迁移。
  • 当源实例为单节点架构时,则不支持增量迁移。

自建Redis(仅支持单机架构)

2.8、3.0、3.2、4.0、5.0、6.0版本

自建Redis(单机或集群架构)

2.8、3.0、3.2、4.0、5.0、6.0版本

  • 全量数据迁移
  • 增量数据迁移
说明 属于NoSQL数据库,无需结构迁移。

阿里云Redis实例(单机或集群架构)

社区版4.0、5.0、6.0版本

  • 全量数据迁移
  • 增量数据迁移
自建TiDB

自建MySQL

5.1、5.5、5.6、5.7、8.0版本

  • 结构迁移
  • 全量数据迁移
  • 增量数据迁移

RDS MySQL

所有版本

  • 结构迁移
  • 全量数据迁移
  • 增量数据迁移

PolarDB MySQL

所有版本

  • 结构迁移
  • 全量数据迁移
  • 增量数据迁移
  • 自建Db2

    9.7~11.5版本

  • 自建Db2 for i

    7.3、7.4版本

  • 自建MySQL

    5.1、5.5、5.6、5.7、8.0版本

  • RDS MySQL

    所有版本

  • 结构迁移
  • 全量数据迁移
  • 增量数据迁移

配置文档

迁移场景 源库类型 文档链接
从自建数据库迁移至阿里云 MySQL 从自建MySQL迁移至RDS MySQL
从通过专线、VPN网关或智能接入网关接入的自建MySQL迁移至RDS MySQL
从通过专线接入的自建MySQL迁移至其他账号下的RDS MySQL
从自建MySQL迁移至PolarDB MySQL
从自建MySQL迁移至DRDS
SQL Server 从自建SQL Server增量迁移至RDS SQL Server
从自建SQL Server全量迁移至RDS SQL Server
Oracle 从自建Oracle迁移至PolarDB-O集群(Oracle迁移上云推荐方案)
从自建Oracle迁移至DRDS
从自建Oracle迁移至云原生数据仓库AnalyticDB PostgreSQL
从自建Oracle迁移至RDS MySQL
从自建Oracle迁移至RDS PPAS
从自建Oracle迁移至PolarDB MySQL
PostgreSQL 从自建PostgreSQL(10.1~13版本)增量迁移至RDS PostgreSQL
从自建PostgreSQL(10.0及以下版本)增量迁移至RDS PostgreSQL
从自建PostgreSQL全量迁移至RDS PostgreSQL
Redis 从自建Redis迁移至阿里云Redis
MongoDB 从单节点架构的自建MongoDB迁移至阿里云
从副本集架构的自建MongoDB迁移至阿里云
从分片集群架构的自建MongoDB迁移至阿里云
TiDB 从自建TiDB增量迁移至RDS MySQL
从自建TiDB全量迁移至RDS MySQL
DB2 从自建Db2迁移至RDS MySQL
从第三方云迁移至阿里云 Amazon RDS 从Amazon RDS MySQL迁移至阿里云
从Amazon RDS Oracle迁移至阿里云RDS MySQL
从Amazon RDS Oracle全量迁移至阿里云RDS PPAS
从Amazon RDS for PostgreSQL全量迁移至阿里云
Amazon Aurora 从Amazon Aurora MySQL迁移至阿里云
从Amazon Aurora MySQL迁移至PolarDB MySQL
从Amazon Aurora PostgreSQL全量迁移至阿里云
Amazon SQL Server 从Amazon RDS SQL Server全量迁移至阿里云
同一阿里云账号实例间迁移 RDS实例 RDS实例间的数据迁移
RDS MySQL实例 从RDS MySQL迁移至PolarDB MySQL
RDS MariaDB实例 从RDS MariaDB迁移至RDS MySQL
PolarDB MySQL集群 PolarDB MySQL集群间的数据迁移
从PolarDB MySQL迁移至RDS MySQL
MongoDB实例 从MongoDB单节点实例迁移至副本集或分片集群实例
从MongoDB副本集实例迁移至分片集群实例
迁移MongoDB实例至其他地域
跨阿里云账号实例间迁移 RDS实例 跨阿里云账号迁移RDS实例
PolarDB MySQL集群 跨阿里云账号迁移PolarDB MySQL集群
MongoDB实例 跨阿里云账号迁移MongoDB实例
从阿里云迁移至自建数据库 RDS MySQL实例 从RDS MySQL迁移至自建MySQL
自建数据库间的迁移 Oracle 自建Oracle间的数据迁移