数据迁移功能旨在帮助用户方便、快速地实现各种数据源之间的数据迁移,适用于数据上云迁移、阿里云内部跨实例数据迁移、数据库拆分扩容等业务场景。数据传输服务提供的数据迁移功能能够支持同/异构数据源之间的数据迁移,同时提供了库表列三级映射、数据过滤多种ETL特性。

关于各类场景的迁移方案请参见DTS数据迁移方案概览

支持的数据库及迁移类型

详情请参见支持的数据库和迁移类型

多种迁移方式

迁移方式 说明
在线迁移(推荐) 在线迁移要求DTS服务器能够同时跟源实例、目标实例连通,用户只需配置迁移的源、目标实例及迁移对象即可,DTS会自动完成整个数据迁移过程,支持业务不停服迁移。
离线文件迁移 (正在进行大版本升级,暂不能使用)

离线文件迁移需要先使用DTS客户端将源数据库的数据导出成文件,再将文件导入到目标实例。

离线文件迁移方式不支持业务不停服迁移,为DTS服务器无法和源数据库网络不通的情况提供解决方案。

说明 如果DTS与源实例网络连通的情况下,建议使用在线迁移方式以降低数据迁移成本。

多种迁移类型

数据迁移支持结构迁移全量数据迁移增量数据迁移,同时使用者三种迁移类型,可实现业务不停服迁移。

迁移类型 说明
结构迁移

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

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

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

多种ETL特性

数据迁移支持多种ETL特性,主要包括:
  • 库表列三级对象名映射:可以实现对源跟目标实例的库名、表名、或列名不同的两个对象之间进行数据迁移。
  • 迁移数据过滤:用户可以对要迁移的表设置某种SQL条件过滤要迁移的数据,例如用户可以设置时间条件,只迁移最新的数据。

报警机制

数据迁移提供迁移异常报警,一旦迁移任务出现异常,即会向任务创建者发送报警短信,让用户第一时间了解并处理异常任务。

迁移任务管理

迁移任务是数据传输服务进行数据迁移的基本单元。如果需要进行数据迁移,必须在数据传输服务控制台创建一个迁移任务。当创建迁移任务时,需要配置迁移的源跟目标实例的连接方式,迁移对象及迁移类型等信息。用户可以在数据传输服务控制台进行迁移任务的创建、管理、停止及删除等操作。

迁移任务在创建及运行过程中,不同阶段会处于不同的状态,具体如下表所示。

迁移状态 状态说明 可进行操作
未启动 迁移任务已经完成任务配置,尚未启动预检查。 预检查、删除
预检中 迁移任务正在进行预检查。 删除
预检通过 迁移任务已经通过预检查,尚未启动数据迁移。 启动、删除
迁移中 迁移任务正在进行数据迁移。 暂停、结束、删除
迁移失败 迁移任务异常,可以根据任务的进度确认具体是哪个阶段失败。 删除
暂停中 迁移任务被暂停。 启动、删除
完成 迁移任务已经完成数据迁移,或者用户手动结束了迁移任务。 删除

当任务处于迁移失败状态时,7天之内这个任务会被后台启动恢复。如果需要停止迁移,需要手动释放该任务。

更多信息

  • 如果需要立即开始迁移数据,请登录DTS控制台,配置数据迁移任务。
  • 如果您有应用迁移的需求,请参考迁移工具