数据迁移功能帮助您实现同构或异构数据源之间的数据迁移,适用于数据上云迁移、阿里云内部跨实例数据迁移、数据库拆分扩容等业务场景。本文将介绍数据迁移功能支持的数据库、版本和迁移类型,以及具体的配置文档。
数据迁移在某些场景下可实现部分数据同步的功能,但数据同步的网络稳定性更好、功能更丰富,推荐您使用数据同步功能。更多区别,请参见数据迁移和数据同步的区别是什么。
迁移链路均支持跨地域的任务。
是否支持创建跨阿里云账号的迁移任务(源或目标库实例有是否跨阿里云账号配置项,且选择为跨账号)取决于数据库的类型和接入方式。更多信息,请参见支持的数据库。
源库或目标库为RDS MySQL数据库的链路,支持RDS MySQL Serverless实例;源库或目标库为RDS PostgreSQL数据库的链路,仅目标库支持RDS PostgreSQL Serverless实例。
通过云数据库专属集群MyBase创建的数据库实例,接入方式为云实例时可以被DTS正常读取,您可以参考下表中的相应数据库链路文档进行配置。例如,您可以参考自建MySQL迁移至RDS MySQL配置从自建MySQL迁移至云数据库专属集群MyBase中的MySQL实例。
迁移类型说明
迁移类型 | 说明 |
库表结构迁移 | DTS将源库中待迁移对象的结构定义迁移至目标库(例如表、视图、触发器、存储过程、索引等)。 对于异构数据库之间的结构迁移,DTS会根据源库和目标库的语法,将结构定义的语法进行转换,例如将Oracle中的number转换为MySQL中的decimal。 |
全量数据迁移 | DTS将源库中待迁移对象的存量数据,全部迁移到目标库中。如果在配置数据迁移任务时,仅选择了结构迁移和全量数据迁移,那么在迁移过程中,源库的新增数据不会被迁移至目标库。 重要 为保障数据一致性,迁移期间请勿在源库中写入新的数据。如需实现不停机迁移,您需要在配置数据迁移任务时,同时选择结构迁移、全量数据迁移和增量数据迁移。 |
增量数据迁移 | DTS会先在源库中实现用于全量数据迁移的静态快照,然后将快照数据迁移到目标库,最后再将迁移过程中源库产生的增量数据实时同步至目标库。 说明 增量数据迁移会保持实时同步的状态,所以迁移任务不会自动结束,您需要手动结束迁移任务。 |
源库限制
限制项 | 说明 |
网络带宽 | 须大于等于100 Mb/s。 |
业务要求 |
|
迁移方案概览
DTS支持以下迁移方案,您可以根据业务需求单击具体方案,来查看支持的版本、迁移类型和配置步骤。
下表中各类自建数据库(例如自建MySQL、SQL Server、Oracle等)的支持的接入方式如下:
公网IP
ECS自建数据库
专线/VPN网关/智能网关
数据库网关DG(无公网IP:Port的数据库)
由于公网质量等因素,此接入方式可能会导致任务不稳定。建议使用高速通道(Express Connect)或智能接入网关SAG(Smart Access Gateway)将本地数据中心和云上专有网络打通,然后通过专线/VPN网关/智能网关的接入方式将自建数据库接入DTS。更多信息,请参见连接本地IDC。
云企业网CEN
源为自建MySQL或RDS MySQL的迁移方案
PolarDB-X 1.0中的数据库须基于RDS MySQL创建,DTS暂不支持基于PolarDB MySQL版创建的数据库。
PolarDB-X 1.0为目标时不支持库表结构迁移,PolarDB-X 2.0为目标时均支持。
PolarDB-X 2.0需兼容MySQL 5.7版本,且建议实例版本升级为5.4.11及以上,升级方式请参见查看和升级实例版本。
以AnalyticDB MySQL 2.0为目标的迁移方案暂未上线新版控制台,目前仅支持在旧版控制台配置。
源库 | 目标库 | 迁移类型 | 配置文档 |
|
| 库表结构迁移 全量数据迁移 增量数据迁移 | |
PolarDB MySQL版 所有版本 | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
PolarDB-X 1.0 | 全量数据迁移 增量数据迁移 | ||
PolarDB-X 2.0 | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
云原生数据仓库AnalyticDB MySQL版 2.0、3.0版本 | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
云原生数据仓库AnalyticDB PostgreSQL版 4.3、6.0、7.0版本 | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
| 库表结构迁移 全量数据迁移 增量数据迁移 | ||
| 库表结构迁移 全量数据迁移 增量数据迁移 | ||
ClickHouse 20.8及以上版本 | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
DataHub 所有版本 | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
Elasticsearch 5.5、5.6、6.x、7.x、8.x版本 | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
MaxCompute | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
自建Oracle(RAC或非RAC架构) 9i、10g、11g、12c、18c、19c版本 | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
| 全量数据迁移 增量数据迁移 | ||
Tablestore | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
云数据库SelectDB版 | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
云原生多模数据库Lindorm | 全量数据迁移 增量数据迁移 | ||
Doris 1.2及以上版本 | 库表结构迁移 全量数据迁移 增量数据迁移 |
源为MariaDB的迁移方案
源库 | 目标库 | 迁移类型 | 配置文档 |
|
| 库表结构迁移 全量数据迁移 增量数据迁移 | |
RDS MySQL | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
RDS PostgreSQL | 库表结构迁移 全量数据迁移 增量数据迁移 |
源为RDS PPAS的迁移方案
源库 | 目标库 | 迁移类型 | 配置文档 |
RDS PPAS 所有版本 | PolarDB PostgreSQL版(兼容Oracle) 所有版本 | 库表结构迁移 全量数据迁移 增量数据迁移 |
源为PolarDB MySQL版的迁移方案
PolarDB-X 1.0中的数据库须基于RDS MySQL创建,DTS暂不支持基于PolarDB MySQL版创建的数据库。
PolarDB-X 1.0为目标时不支持库表结构迁移,PolarDB-X 2.0为目标时均支持。
PolarDB-X 2.0需兼容MySQL 5.7版本,且建议实例版本升级为5.4.11及以上,升级方式请参见查看和升级实例版本。
源库 | 目标库 | 迁移类型 | 配置文档 |
PolarDB MySQL版 所有版本 | PolarDB MySQL版 所有版本 | 库表结构迁移 全量数据迁移 增量数据迁移 | |
| 库表结构迁移 全量数据迁移 增量数据迁移 | ||
PolarDB-X 1.0 | 全量数据迁移 增量数据迁移 | ||
PolarDB-X 2.0 | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
云原生数据仓库AnalyticDB MySQL版 3.0版本 | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
云原生数据仓库AnalyticDB PostgreSQL版 4.3、6.0、7.0版本 | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
| 库表结构迁移 全量数据迁移 增量数据迁移 | ||
DataHub 所有版本 | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
ClickHouse 20.8及以上版本 | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
自建Oracle(RAC或PDB架构、非RAC架构) 9i、10g、11g、12c、18c、19c版本 | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
Elasticsearch 5.5、5.6、6.x、7.x、8.x版本 | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
MaxCompute | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
云数据库SelectDB版 | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
Doris 1.2及以上版本 | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
云原生多模数据库Lindorm | 全量数据迁移 增量数据迁移 |
源为PolarDB PostgreSQL版(兼容Oracle)的迁移方案
源库 | 目标库 | 迁移类型 | 配置文档 |
PolarDB PostgreSQL版(兼容Oracle) 所有版本 | PolarDB PostgreSQL版(兼容Oracle) 所有版本 | 库表结构迁移 全量数据迁移 增量数据迁移 | |
自建Oracle(RAC或PDB架构、非RAC架构) 9i、10g、11g、12c、18c、19c版本 | 全量数据迁移 增量数据迁移 | ||
| 库表结构迁移 增量数据迁移 | ||
云原生数据仓库AnalyticDB MySQL版 3.0版本 | 库表结构迁移 全量数据迁移 增量数据迁移 |
源为PolarDB-X的迁移方案
仅支持在新版控制台配置。
PolarDB-X 1.0中的数据库须基于RDS MySQL创建,DTS暂不支持基于PolarDB MySQL版创建的数据库。
PolarDB-X 2.0需兼容MySQL 5.7版本,且建议实例版本升级为5.4.11及以上,升级方式请参见查看和升级实例版本。
源库 | 目标库 | 迁移类型 | 配置文档 |
PolarDB-X 1.0 | PolarDB-X 2.0 | 库表结构迁移 全量数据迁移 增量数据迁移 | |
云原生数据仓库AnalyticDB MySQL版 3.0版本 | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
云原生数据仓库AnalyticDB PostgreSQL版 4.3、6.0、7.0版本 | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
DataHub | 库表结构迁移 增量数据迁移 | ||
Elasticsearch 5.5、5.6、6.x、7.x、8.x版本 | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
| 库表结构迁移 全量数据迁移 增量数据迁移 | ||
| 库表结构迁移 全量数据迁移 增量数据迁移 | ||
PolarDB-X 2.0 | PolarDB-X 2.0 | 库表结构迁移 全量数据迁移 增量数据迁移 | |
| 库表结构迁移 全量数据迁移 增量数据迁移 | ||
PolarDB MySQL版 所有版本 | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
云原生数据仓库AnalyticDB MySQL版 3.0版本 | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
云原生数据仓库AnalyticDB PostgreSQL版 4.3、6.0、7.0版本 | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
MaxCompute | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
| 库表结构迁移 全量数据迁移 增量数据迁移 | ||
DataHub 所有版本 | 库表结构迁移 增量数据迁移 | ||
Elasticsearch 5.5、5.6、6.x、7.x、8.x版本 | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
自建Oracle(RAC或非RAC架构) 9i、10g、11g、12c、18c、19c版本 | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
表格存储(Tablestore) | 库表结构迁移 全量数据迁移 增量数据迁移 |
源为PolarDB PostgreSQL版的迁移方案
源库 | 目标库 | 迁移类型 | 配置文档 |
PolarDB PostgreSQL版 11、14版本 | PolarDB PostgreSQL版 11、14版本 | 库表结构迁移 全量数据迁移 增量数据迁移 | |
| 库表结构迁移 全量数据迁移 增量数据迁移 | ||
自建Oracle(RAC或非RAC架构) 9i、10g、11g、12c、18c、19c版本 | 全量数据迁移 增量数据迁移 | ||
云原生数据仓库AnalyticDB PostgreSQL版 4.3、6.0、7.0版本 | 库表结构迁移 全量数据迁移 增量数据迁移 |
源为MaxCompute的迁移方案
源库 | 目标库 | 迁移类型 | 配置文档 |
MaxCompute 所有版本 |
| 库表结构迁移 全量数据迁移 |
源为OceanBase(MySQL)的迁移方案
源库 | 目标库 | 迁移类型 | 配置文档 |
|
| 库表结构迁移 全量数据迁移 增量数据迁移 | |
PolarDB MySQL版 所有版本 | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
云原生多模数据库Lindorm | 全量数据迁移 增量数据迁移 |
源为Oracle的迁移方案
PolarDB-X 1.0中的数据库须基于RDS MySQL创建,DTS暂不支持基于PolarDB MySQL版创建的数据库。
PolarDB-X 1.0为目标时不支持库表结构迁移,PolarDB-X 2.0为目标时均支持。
PolarDB-X 2.0需兼容MySQL 5.7版本,且建议实例版本升级为5.4.11及以上,升级方式请参见查看和升级实例版本。
源库 | 目标库 | 迁移类型 | 配置文档 |
自建Oracle(RAC或非RAC架构) 9i、10g、11g、12c、18c、19c版本 | PolarDB PostgreSQL版(兼容Oracle) 所有版本 | 库表结构迁移 全量数据迁移 增量数据迁移 | |
自建Oracle(RAC或非RAC架构) 9i、10g、11g、12c、18c、19c版本 | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
| 库表结构迁移 全量数据迁移 增量数据迁移 | ||
PolarDB MySQL版 所有版本 | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
PolarDB PostgreSQL版 11、14版本 | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
PolarDB-X 1.0和2.0 | 全量数据迁移 增量数据迁移 | ||
云原生数据仓库AnalyticDB MySQL版 3.0版本 | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
云原生数据仓库AnalyticDB PostgreSQL版 4.3、6.0、7.0版本 | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
| 库表结构迁移 全量数据迁移 增量数据迁移 | ||
| 库表结构迁移 全量数据迁移 增量数据迁移 | ||
DataHub 所有版本 | 库表结构迁移 全量数据迁移 增量数据迁移 |
源为自建PostgreSQL或RDS PostgreSQL的迁移方案
源库暂不支持RDS PostgreSQL Serverless实例,目标库支持。
源库 | 目标库 | 迁移类型 | 配置文档 |
|
| 库表结构迁移 全量数据迁移 增量数据迁移 | |
PolarDB PostgreSQL版 11、14版本 | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
| 库表结构迁移 全量数据迁移 增量数据迁移 | ||
PolarDB PostgreSQL版(兼容Oracle) 所有版本 | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
云原生数据仓库AnalyticDB PostgreSQL版 4.3、6.0、7.0版本 | 库表结构迁移 全量数据迁移 增量数据迁移 |
源为自建SQL Server或RDS SQL Server的迁移方案
源库支持的自建SQL Server需为Enterprise、Developer、Enterprise Evaluation、Standard、Web版本。
目标库支持的自建SQL Server需为Enterprise、Developer、Enterprise Evaluation、Standard、Web版本。
若源自建SQL Server为2005版本或源RDS SQL Server为2008、2008R2时,则不支持增量数据迁移。
Azure SQL Database支持作为源库,暂不支持作为目标库,并且作为源库时仅支持库表结构和全量数据迁移。
已支持SQL Server Cluster或SQL Server AlwaysOn High Availability Group。
在混合式日志解析模式下(即SQLServer增量同步模式为非堆表用日志解析增量同步,堆表用CDC增量同步的实例),支持的源库(包含RDS SQL Server和自建SQL Server)有:
Enterprise或Enterprise Evaluation版:2012、2014、2016、2019或2022版本。
Standard版:2016、2019或2022版本。
Web版本的SQL Server为源库时,SQLServer增量同步模式仅支持解析源库日志做增量同步(不支持堆表)。
源库 | 目标库 | 迁移类型 | 配置文档 |
|
| 库表结构迁移 全量数据迁移 增量数据迁移 | |
| 库表结构迁移 全量数据迁移 增量数据迁移 | ||
PolarDB MySQL版 所有版本 | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
云原生数据仓库AnalyticDB MySQL版 3.0版本 | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
云原生数据仓库AnalyticDB PostgreSQL版 4.3、6.0、7.0版本 | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
DataHub | 库表结构迁移 增量数据迁移 |
源为自建MongoDB或云数据库MongoDB的迁移方案
源库 | 目标库 | 迁移类型 | 配置文档 |
单节点架构
| 单节点、副本集或分片集群架构
| 库表结构迁移 全量数据迁移 | |
副本集架构
| 副本集或分片集群架构
| 库表结构迁移 全量数据迁移 增量数据迁移 | |
分片集群架构
| 副本集或分片集群架构
| 库表结构迁移 全量数据迁移 增量数据迁移 | |
副本集或分片集群架构
| 云原生多模数据库Lindorm | 全量数据迁移 增量数据迁移 | |
副本集或分片集群架构
| 云原生数据仓库 AnalyticDB PostgreSQL 版 4.3、6.0、7.0 | 全量数据迁移 增量数据迁移 | |
副本集或分片集群架构
| 云原生数据仓库AnalyticDB MySQL版 3.0 | 全量数据迁移 增量数据迁移 |
源为自建Redis或云数据库Tair/Redis的迁移方案
Redis属于NoSQL数据库,无需库表结构迁移。
源库为自建Redis或云数据库Redis社区版实例时,支持全量数据迁移和增量数据迁移,合并显示为增量迁移。
源库 | 目标库 | 迁移类型 | 配置文档 |
|
| 全量数据迁移 增量数据迁移 |
源为TiDB的迁移方案
源库 | 目标库 | 迁移类型 | 配置文档 |
TiDB |
| 库表结构迁移 全量数据迁移 增量数据迁移 | |
PolarDB MySQL版 所有版本 | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
云原生数据仓库AnalyticDB MySQL版 3.0版本 | 库表结构迁移 全量数据迁移 增量数据迁移 |
源为Db2 for LUW的迁移方案
Db2 for LUW在控制台显示为DB2 LUW。
目标库的PolarDB-X 2.0需兼容MySQL 5.7版本,且建议实例版本升级为5.4.11及以上,升级方式请参见查看和升级实例版本。
源库 | 目标库 | 迁移类型 | 配置文档 |
Db2 for LUW 9.5、9.7、10.1、10.5、11.1、11.5版本 |
| 库表结构迁移 全量数据迁移 增量数据迁移 | |
PolarDB-X 2.0 | 全量数据迁移 增量数据迁移 | ||
云原生数据仓库AnalyticDB PostgreSQL版 4.3、6.0、7.0版本 | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
| 库表结构迁移 全量数据迁移 增量数据迁移 | ||
PolarDB MySQL版 | 库表结构迁移 全量数据迁移 增量数据迁移 |
源为Db2 for i(AS/400)的迁移方案
Db2 for i在控制台显示为DB2 iSeries(AS/400)。
源库 | 目标库 | 迁移类型 | 配置文档 |
Db2 for i 7.3、7.4版本 |
| 库表结构迁移 全量数据迁移 增量数据迁移 | 文档准备中 |
PolarDB MySQL版 | 库表结构迁移 全量数据迁移 增量数据迁移 | 文档准备中 |
源为Teradata的迁移方案
目前仅支持在新控制台进行配置,且迁移实例需位于上海、青岛、张家口。
源库 | 目标库 | 迁移类型 | 配置文档 |
Teradata 17及以下版本 | 云原生数据仓库AnalyticDB PostgreSQL版 4.3、6.0、7.0版本 | 库表结构迁移 全量数据迁移 |
源为自建HBase的迁移方案
目前仅支持在新控制台进行配置。
源库 | 目标库 | 迁移类型 | 配置文档 |
自建HBase 1.x版本 | 云原生数据仓库AnalyticDB MySQL版 3.0版本 | 库表结构迁移 全量数据迁移 |
源为第三方云的迁移方案
DTS支持将第三方云(如Amazon RDS for MySQL、Amazon RDS for Oracle)中的数据迁移至阿里云产品(如RDS MySQL )中。
源库 | 目标库 | 迁移类型 | 配置文档 |
Azure平台的数据库 | 以控制台为准 | ||
Amazon RDS for MySQL | RDS MySQL | 库表结构迁移 全量数据迁移 增量数据迁移 | |
Amazon RDS for Oracle | RDS MySQL | 库表结构迁移 全量数据迁移 增量数据迁移 | |
Amazon RDS for PostgreSQL | RDS PostgreSQL | 库表结构迁移 全量数据迁移 增量数据迁移 | |
库表结构迁移 全量数据迁移 | |||
Amazon RDS for SQL Server | RDS SQL Server | 库表结构迁移 全量数据迁移 | |
Amazon Aurora MySQL | RDS MySQL | 库表结构迁移 全量数据迁移 增量数据迁移 | |
PolarDB MySQL版 | 库表结构迁移 全量数据迁移 增量数据迁移 | ||
Amazon Aurora PostgreSQL | RDS PostgreSQL | 库表结构迁移 全量数据迁移 | |
Atlas MongoDB | 云数据库MongoDB | 全量数据迁移 增量数据迁移 | |
华为云文档数据库 | 云数据库MongoDB | 全量数据迁移 增量数据迁移 | |
腾讯云MySQL | RDS MySQL | 库表结构迁移 全量数据迁移 增量数据迁移 | |
腾讯云MongoDB | 云数据库MongoDB | 增量数据迁移 | |
全量数据迁移 |
跨阿里云账号实例间迁移方案
源库 | 目标库 | 迁移类型 | 配置文档 |
源RDS实例 | 目标RDS实例 | 库表结构迁移 全量数据迁移 增量数据迁移 |