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

前提条件

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

费用说明

ADAM:使用ADAM STUDIO工具需要申请License授权(目前免费),您可以联系客户经理或提交工单申请。

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

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

  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;
    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. 单击新建画像,设置画像的基本信息并单击创建
    配置 说明
    画像名 为画像配置具有业务意义的名称便于后续识别。
    类型 固定为Oracle
    报告语言类型 根据需求选择为中文英文
    数据文件
    1. 单击上传按钮。
    2. 选择在步骤一:采集数据库结构信息中采集结果所输出的压缩包文件。
  3. 返回画像列表页面,画像分析完成后,您可以单击操作列的详情,从数据库的规模、会话、风险、热点、复杂度、负载等维度分析评估数据库的具体信息。
    说明 更多关于数据库画像的分析解读,请参见数据库画像分析
    分析画像

步骤三:评估数据库迁移项目

  1. 在ADAM控制台,选择左侧导航栏的数据库迁云 > 项目管理
  2. 单击新建项目,设置项目的基本信息并单击创建
    配置 说明
    项目名 为项目配置具有业务意义的名称便于后续识别。
    项目类型 选择为Oracle_To_PolarDB for Oracle
    目标库版本 选择为PolarDB for Oracle
    报告语言 根据需求选择为中文英文
    选择评估Schema 根据业务需求,选择待评估的Schema信息。
    1. 未选择区域框中,勾选待评估的Schema。
    2. 单击向右箭头adam将其添加至已选择区域框。
    该项目将创建成功并进入待评估状态。
  3. 启动项目评估。
    1. 返回项目管理页面,找到上一步创建的项目,单击其操作列的详情
      待评估
    2. 在页面下方的任务统计区域框中,单击评估技术方案对应的进入
    3. 评估选项页签中,选择目标库最大规格和目标库最大容量。
    4. 单击页面最下方的开始评估,然后在弹出的对话框中单击确定
    5. 系统评估完成后,单击页面上方的评估结果页签,全面评估目标库的兼容性、规格与迁移风险,了解ADAM提供相应的解决方案。
      说明 更多关于评估结果的分析解读,请参见数据库评估。您也可以使用数据库专家服务,由阿里云数据库专家为您提供应用架构和数据库架构治理、评估选型、制定数据库平滑迁云迁移方案。

步骤四:生成迁云计划

  1. 在ADAM控制台,选择左侧导航栏的数据库迁云 > 项目管理
  2. 找到目标项目,单击其操作列的详情
  3. 在下方的任务统计区域框中,单击制作迁云计划对应的进入
    进入迁云计划
  4. 在页面底部的迁移计划区域框中,单击操作列的下载
    获取到ADAM生成的迁云计划文件,该迁云计划将用于步骤五:使用ADAM STUDIO迁移结构信息中。

步骤五:使用ADAM STUDIO迁移结构信息

下载阿里云_ADAM_Studio用户手册,然后按照手册内容执行结构迁移。

警告 仅使用ADAM STUDIO执行结构迁移,在迁移过程中可评估ADAM STUDIO工具给出的提示,然后执行结构订正以获得更好的兼容性。

后续步骤

从自建Oracle迁移至PolarDB兼容Oracle语法引擎的集群(迁移数据)