本文介绍如何使用ADAM将自建Oracle数据库的结构迁移至PolarDB-O集群,然后使用DTS进行数据迁移。

前提条件

  • 已通过ADAM专业版或企业版使用权限的申请,详情请参见申请ADAM专业版或企业版
  • 自建Oracle数据库的版本为9i、10g、11g或12c版本。
  • 自建Oracle数据库已开启ARCHIVELOG(归档模式),设置合理的归档日志保持周期且归档日志能够被访问,详情请参见ARCHIVELOG
  • 自建Oracle数据库已开启Supplemental Logging,且已开启supplemental_log_data_pk,supplemental_log_data_ui,详情请参见Supplemental Logging
  • 自建Oracle数据库中的待迁移表需具备主键或非空唯一索引。
  • PolarDB-O集群(简称PolarDB集群)的polar_comp_redwood_raw_names参数已设置为off,详情请参见设置集群参数

费用说明

ADAM专业版或企业版需要申请通过才可以使用(目前免费),您可以自行申请

说明 您也可以使用数据库专家服务,由阿里云数据库专家为您提供应用架构和数据库架构治理、评估选型、制定数据库平滑迁云迁移方案,费用说明请参见计费方式与价格

步骤一:采集数据库结构信息

  1. 登录待迁移的Oracle数据库,创建用于采集数据的账号并授权。
    说明 如您已创建包含下述权限的账号,可跳过本步骤。
    #创建用于采集数据的账号,名称为eoa_user,密码为eoaPASSW0RD
    create user eoa_user identified by "eoaPASSW0RD" default tablespace users;
    #授予查询权限
    grant connect,resource,select_catalog_role,select any dictionary to eoa_user;
    #授予DBMS_LOGMNR权限(10g版本的数据库需先执行CREATE OR REPLACE PUBLIC SYNONYM dbms_logmnr FOR sys.dbms_logmnr)
    grant execute on DBMS_LOGMNR to eoa_user;
    #授予DBMS_METADATA权限(查询数据对象DDL语句)
    grant execute on dbms_metadata to eoa_user;
    #授予查询事务权限
    grant select any transaction to eoa_user;
    #授予分析表权限
    grant analyze any to eoa_user;
    #授予产生随机编号权限
    grant execute on dbms_random to eoa_user;
    #创建用于采集数据的账号,名称为eoa_user,密码为eoaPASSW0RD
    create user c##eoa_user identified by "eoaPASSW0RD" default tablespace users;
    grant connect,resource,select_catalog_role,select any dictionary to c##eoa_user container=all; grant execute on DBMS_LOGMNR to c##eoa_user container=all;
    grant execute on dbms_metadata to c##eoa_user container=all;
    grant select any table to c##eoa_user container=all;
    grant select any transaction to c##eoa_user container=all;
    grant analyze any to c##eoa_user container=all;
    grant execute on dbms_random to c##eoa_user container=all;
  2. 部署数据库采集器。
    说明

    用于部署数据库采集器的设备需满足下述要求:

    • 性能:CPU核数为2核、内存为8GB、硬盘为500G,您也可以使用更高性能的设备。
    • 网络:可以连通待迁移的Oracle数据库。
    • 操作系统:Linux(64位)或Windows(64位)。
    1. 登录ADAM控制台,单击左侧导航栏的数据库迁云 > 数据库评估
    2. 数据库采集页签,单击下载采集器
      下载adam
    3. 在弹出的对话框中,根据部署环境下载对应操作系统的安装文件。
      选择下载adam
    4. 将下载的数据库采集器复制到待部署的设备上并解压。
  3. 在数据库采集器所部署的设备,打开命令行,进入数据库采集器解压的目录,根据数据库版本和操作系统执行下述语句,以采集数据库结构性数据(数据自动脱敏)。
    #Linux 64位操作系统
    collect_10g.sh  -h ip -u username -p password -d service_name
    #Windows 64位操作系统
    collect_10g.bat  -h ip -u username -p password -d service_name
    #Linux 64位操作系统
    collect_11g.sh  -h ip -u username -p password -d service_name
    #Windows 64位操作系统
    collect_11g.bat  -h ip -u username -p password -d service_name
    #Linux 64位操作系统
    collect_12c.sh –h ip -u username -p password -P port -d service_name -s sid
    #Windows 64位操作系统
    collect_12c.bat –h ip -u username -p password -P port -d service_name -s sid>
    说明
    • ip:Oracle数据库的IP地址。
    • username:登录Oracle数据库的账号。
    • password:该账号对应的密码。
    • port:Oracle数据库提供服务的端口号。
    • service_name:Oracle数据库的服务名。
    • sid:Oracle数据库的sid信息(本参数仅适用于12c版本的Oracle数据库)。

    下述命令以Windows 64位操作系统为例,采集Oracle(11g版本)数据库的结构性数据。

    collect_11g.bat -h  172.16.6.234  -u eoa_user -p eoaPASSW0RD -d oracletestdata
    等待数据采集完成,命令行将提示采集结果导出的文件路径。采集结果
  4. 可选:清除用于数据采集的账号。
    drop user eoa_user cascade;
    drop user c##eoa_user cascade;

步骤二:分析数据库画像

  1. 登录ADAM控制台,单击左侧导航栏的数据库迁云 > 数据库评估
  2. 数据库采集页签的底部,单击下一步查看源库画像
  3. 单击新建画像,设置画像的基本信息并单击创建
    配置 说明
    画像名 为画像配置具有业务意义的名称便于后续识别。
    类型 固定为Oracle
    报告语言类型 根据需求选择为中文英文
    数据文件
    1. 单击上传按钮。
    2. 选择在步骤一:采集数据库结构信息中采集结果所输出的压缩包文件。
  4. 返回画像列表,画像分析完成后,您可以单击操作列的详情,从数据库的规模、会话、风险、热点、复杂度、负载等维度分析评估数据库的具体信息。
    分析画像
    说明
    • 更多关于数据库画像的分析解读,请参见数据库画像分析
    • 分析完成后,您还可以单击页面下方的下一步查看目标库选型建议,了解迁移到各种目标库的兼容情况分析,详情请参见目标库选型建议

步骤三:目标库兼容性评估

  1. 在ADAM控制台,单击左侧导航栏的数据库迁云 > 数据库评估
  2. 单击目标库兼容评估页签。
  3. 单击新建项目,设置项目的基本信息并单击创建
    配置 说明
    项目名 为项目配置具有业务意义的名称便于后续识别。
    项目类型 选择为Oracle_To_POLARDB O
    目标库版本 选择为POLARDB O
    报告语言 根据需求选择为中文英文
    源库画像 选择在步骤二中创建的源库画像。
    LOB数据迁移到OSS 是否需要将LOB(Large Object)数据迁移到对象存储服务OSS(Object Storage Service)中,根据需求选择为
    选择评估Schema 根据业务需求,选择待评估的Schema信息。
    1. 未选择区域框中,勾选待评估的Schema。
    2. 单击向右箭头adam将其添加至已选择区域框。
    该项目将创建成功并进入处理中状态。
  4. 等待项目评估完成,单击操作列的详情,全面评估目标库的兼容性、规格与迁移风险,了解ADAM提供相应的解决方案。
    说明 更多关于评估结果的分析解读,请参见数据库评估。您也可以使用数据库专家服务,由阿里云数据库专家为您提供应用架构和数据库架构治理、评估选型、制定数据库平滑迁云迁移方案。

步骤四:数据库改造迁移

改造类型 准备工作 具体步骤
线下改造迁移 需自行部署ADAM STUDIO工具。 详情请参见线下改造迁移
线上改造迁移
  • 为PolarDB集群申请公网连接地址。
  • 将ADAM服务器的IP地址段(39.100.131.0/24,47.241.17.0/24)添加至PolarDB集群的白名单,详情请参见设置集群白名单
详情请参见线上改造迁移
警告 线上或线下改造迁移仅执行结构迁移,在迁移过程中可评估相关的提示信息,然后执行结构订正以获得更好的兼容性。

后续步骤

从自建Oracle迁移至PolarDB-O集群(迁移数据)