使用 DTS 迁移 PPAS 数据-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

使用 DTS 迁移 PPAS 数据

2017-10-18 11:38:59 1846 0
使用数据传输服务(DTS)将本地数据库迁移到 RDS for PPAS,可以实现应用不停服务的情况下,平滑完成数据库的迁移工作。迁移过程中,对本地的 Oracle 数据库没有影响。

背景信息


DTS 数据迁移支持 PPAS 的结构迁移和全量迁移。

  • 结构迁移
    DTS 会将迁移对象的结构定义迁移到目标实例。目前 DTS 支持结构迁移的对象有:表、视图、同义词、触发器、存储过程、存储函数、包、自定义类型。

  • 全量迁移
    DTS 会将本地数据库迁移对象的数据全部迁移到目标实例。如果迁移过程中,本地 Oracle 数据库有数据写入的话,那么这些增量数据不一定能够被迁移到 RDS 中。所以,如果要保证数据一致性,那么尽量选择在业务低峰期进行全量迁移。


迁移限制


将 PPAS 本地数据库迁移到 RDS 上有以下限制。
  • 迁移过程中,不支持 DDL 操作
  • 不支持物化视图的迁移
  • 结构迁移时,会将 reverse index 迁移成普通索引
  • 结构迁移时,会将位图索引迁移成普通索引
  • 结构迁移时,会将分区索引迁移成在每个分区上单独创建的索引


前提条件


已完成 RDS 实例数据库的准备,可参见 设置连接模式创建数据库和账号

操作步骤


本例以有公网 IP 的本地数据库迁移到 RDS 上为例。

准备本地数据


在正式迁移之前,需要先在本地数据库和 RDS 实例中创建迁移账号,并在 RDS 实例中创建要迁移的数据库,并将要迁移的数据库的读写权限授权给迁移账号。不同的迁移类型需要不同的权限,如下表所示。[tr=rgb(255, 255, 255)]迁移类型结构迁移全量迁移[tr=rgb(255, 255, 255)]本地 Oracle 实例schema 的 ownerschema 的 owner[tr=rgb(255, 255, 255)]RDS 上 PPAS 实例schema 的 ownerschema 的 owner

  1. 通过 PostgreSQL 客户端,在本地数据库中创建迁移账号。[backcolor=transparent]CREATE USER username IDENTIFIED BY password[backcolor=transparent];

参数说明:
  • username:要创建的账号
  • password:该账号的登录密码

如:
  1. [backcolor=transparent]CREATE USER myuser IDENTIFIED BY mypassword[backcolor=transparent];

在本地数据库中给迁移账号授权,本地数据库中迁移账号的权限要求请参见上表。
  1. [backcolor=transparent]GRANT privileges ON tablename TO username[backcolor=transparent];

参数说明:
  • privileges:该账号的操作权限,如 SELECT、INSERT、UPDATE 等。如果要授权该账号所有权限,则使用 ALL
  • tablename:表名。如果要授权该账号所有的表权限,则使用通配符 *
  • username:要授权的账号名

如:
  1. [backcolor=transparent]GRANT ALL ON [backcolor=transparent]*[backcolor=transparent] TO myuser[backcolor=transparent];


正式迁移操作


  1. RDS 管理控制台 上单击 迁移数据库,进入 DTS,如下图所示。

  2. 单击 创建在线迁移任务,进入 创建迁移任务 页面,如下图所示。

  3. 输入任务名称、本地数据库信息和目标数据库信息,单击 授权白名单并进入下一步,如下图所示。
    • 任务名称:自定义任务名称,可以保持默认值
    • 源库信息实例类型:本地数据库的实例类型,可以选择 有公网 IP 的自建数据库ECS 上的自建数据库RDS 实例云数据库 MongoDB
    • 数据库类型:本地数据库的类型,可以选择 OracleMySQLSQLServerPostgreSQLMongoDB
    • 主机名或IP地址:本地数据库的公网地址
    • 端口:本地数据库的公网端口
    • SID:本地数据库的 SID
    • 账号:本地数据库的迁移账号
    • 密码:本地数据库迁移账号对应的密码
  • 目标库信息
    • 实例类型:默认为 RDS 实例
    • RDS 实例 ID:目标 RDS 实例的 ID。点击下拉菜单将自动联想当前登录管理控制台的账号的 RDS 实例,点击选择所需要的实例
    • 数据库名称:要迁移到目标数据库的名称
    • 账号:RDS 数据库的迁移账号
    • 密码:RDS 数据库迁移账号对应的密码

  • 择迁移类型,并在 迁移对象 中选择要迁移的对象,单击 > 将要迁移的对象放入 已选择 中,单击 预检查并启动,如下图所示。
    注意
    • 选择结构迁移时,如果目标 RDS 实例的数据库 mydatabase 中,不存在跟本地数据库迁移账号同名的 Schema,那么 DTS 会自动创建同名 Schema, 且 Schema 的 Owner 为迁移账号。
    • 数据迁移只会将本地数据库的数据(结构)复制一份到目标数据库,并不会对本地数据库数据(结构)造成影响。
    • 数据迁移过程中,不支持 DDL 操作,如进行 DDL 操作可能导致迁移失败。


    如果要修改迁移对象在目标数据库上的名字,可以在 已选择 列表右侧单击 编辑,修改已选择的对象名称,如上图4所示。
    说明: 以下以预检查不通过为例进行描述,如果预检查通过,请直接参见步骤 8。

  • 系统显示预检查结果,如下图所示。

  • 单击 检测结果失败 的检测项后的 !,查看失败详细信息,根据失败详细信息完成错误排查。

  • 错误排查完毕后,在 迁移任务列表 页面,选择当前迁移任务,单击 启动,如下图所示。

  • 系统预检查通过后,单击 确定,自动进行迁移任务,如下图所示。


  • 后续操作


    因迁移账号拥有读写权限,为了保证本地数据库安全,请在数据迁移完成后,删除本地数据库和 RDS 实例中的迁移账号。




    本文导读目录
    取消 提交回答
    全部回答(0)
    相关问答

    1

    回答

    如何通过DTS迁移至其他数据库?

    2022-09-22 17:13:38 51浏览量 回答数 1

    1

    回答

    DTS如何实现数据迁移?

    2021-12-22 17:01:43 197浏览量 回答数 1

    1

    回答

    如何使用DTS数据传输工具进行数据迁移?

    2021-10-28 14:26:07 2743浏览量 回答数 1

    3

    回答

    通过MaxCompute访问OTS可以使用多元索引吗?

    2019-09-11 17:35:56 5426浏览量 回答数 3

    2

    回答

    DRDS迁移数据到RDS

    2019-01-16 16:15:32 425浏览量 回答数 2

    0

    回答

    用户指南-数据迁移-从 RDS 到本地迁移 RDS for PPAS 数据到本地 PPAS

    2018-09-07 23:21:02 1014浏览量 回答数 0

    1

    回答

    迁移 RDS for PPAS 数据到本地 PPAS

    2018-04-17 02:00:44 449浏览量 回答数 1

    1

    回答

    从本地数据库迁移到 RDS for PPAS

    2018-02-13 18:24:23 431浏览量 回答数 1

    0

    回答

    迁移 RDS for PPAS 数据到本地 PPAS

    2017-10-18 14:01:25 1061浏览量 回答数 0

    1

    回答

    DTS数据迁移-待修复

    2015-08-18 12:25:20 4717浏览量 回答数 1
    +关注
    云栖大讲堂
    擅长前端领域,欢迎各位热爱前端的朋友加入我们( 钉钉群号:23351485)关注【前端那些事儿】云栖号,更多好文持续更新中!
    3913
    文章
    1754
    问答
    问答排行榜
    最热
    最新
    相关电子书
    更多
    低代码开发师(初级)实战教程
    立即下载
    阿里巴巴DevOps 最佳实践手册
    立即下载
    冬季实战营第三期:MySQL数据库进阶实战
    立即下载