迁移到 Oracle Autonomous Database Serverless

本节介绍如何将内部部署 VMware 数据库工作负载迁移到 Oracle Autonomous Database Serverless ,将应用程序工作负载迁移到 Oracle Cloud VMware Solution

体系结构

此体系结构显示从内部部署 VMware 数据库和应用程序迁移到 Oracle Cloud Infrastructure

第一步是使用 HCX 和 vMotion 等 VMware 工具将运行在 VMware 上的内部部署数据库和应用迁移到 Oracle Cloud VMware Solution 。通过 Oracle Cloud VMware Solution ,您可以在 OCI 租户中完全自动实施 VMware 软件定义的数据中心 (SDDC),并在 OCI 裸金属实例上运行。

接下来,使用 Oracle Zero Downtime Migration 自动将数据库从 Oracle Cloud VMware Solution 迁移到 Oracle Autonomous Database Serverless ,以整合到高性能数据库平台。

注意:

将数据库从内部部署 VMware 迁移到 Oracle Cloud VMware Solution 时,必须遵守 Oracle Database 许可规则和支持条件。

下图说明了此参考体系结构。



migrate-vmware-autonomous-serverless-architecture.zip

此体系结构支持以下组件:

  • 区域

    Oracle Cloud Infrastructure 区域是一个局部地理区域,包含一个或多个称为可用性域的数据中心。区域独立于其他区域,广阔的距离可以将其分开(跨国家甚至大陆)。

  • 虚拟云网络 (VCN) 和子网

    VCN 是您在 Oracle Cloud Infrastructure 区域中设置的可定制软件定义网络。与传统数据中心网络一样,VCN 允许您完全控制您的网络环境。一个 VCN 可以具有多个不重叠的 CIDR 块,您可以在创建 VCN 后对其进行更改。您可以将 VCN 细分为多个子网,这些子网可以限定到区域或可用性域。每个子网包含一系列不与 VCN 中的其他子网重叠的连续地址。创建后可以更改子网的大小。子网可以是公共子网,也可以是专用子网。

  • Oracle Autonomous Database(无服务器)

    Oracle Autonomous Database Serverless 提供对最新自治数据库技术的访问。借助 Autonomous Database ,您拥有一个具有充分弹性的数据库,Oracle 可自主运行从数据库放置到备份和更新的整个数据库生命周期。

  • Oracle Cloud VMware Solution 软件定义的数据中心 (SDDC)

    Oracle 和 VMware 合作开发 VMware 认证的软件定义数据中心 (SDDC) 实施,以便在 Oracle Cloud Infrastructure 中使用。此实施称为 Oracle Cloud VMware Solution ,它使用 Oracle Cloud Infrastructure 来托管高可用性 VMware SDDC。它还允许将所有内部部署 VMware SDDC 负载无缝迁移到 Oracle Cloud VMware SolutionOracle Cloud VMware Solution 包含以下 VMware 组件:

    • VMware vSphere ESXi
    • VMware vSAN
    • VMware vCenter
    • VMware NSX-T
    • VMware HCX(可选)
  • 裸金属

    Oracle Cloud VMware Solution 软件定义的数据中心 (SDDC) 包含托管 Oracle Cloud VMware Solution 的裸金属服务器。裸金属服务器支持需要大量核心、大量内存和高带宽(例如 Oracle Cloud VMware Solution )的应用。您可以在裸金属服务器上部署 Oracle Cloud VMware Solution ,并与其他公有云和内部部署数据中心相比,配置性能显著提升的虚拟机。

  • 服务网关

    通过服务网关,可以从 VCN 访问其他服务,例如 Oracle Cloud Infrastructure Object Storage 。从 VCN 到 Oracle 服务的流量会通过 Oracle 网络网状结构网络传输,并且从不通过互联网传输。

  • 动态路由网关 (DRG)

    DRG 是虚拟路由器,用于为同一区域中的 VCN 之间、VCN 与区域外的网络(例如另一个 Oracle Cloud Infrastructure 区域中的 VCN、内部部署网络或其他云提供商中的网络)的专用网络流量提供路径。

  • FastConnect

    Oracle Cloud Infrastructure FastConnect 提供了在您的数据中心与 Oracle Cloud Infrastructure 之间创建专用私有连接的简便方式。FastConnect 与基于 Internet 的连接相比,可提供更高的带宽选项和更可靠的网络体验。

  • 文件存储

    在逻辑迁移期间使用 OCI 文件存储从共享文件系统导入迁移的数据库。

  • 对象存储

    OCI 对象存储用于在迁移期间临时存储数据库备份和导出。

使用须知

开始之前,请检查此设置中使用的主要组件版本,并查看产品文档以供日后参考。

查看需求

  • 确保源 Oracle Cloud VMware Solution 数据库 VM 正在运行 Oracle Linux 7。9,Oracle Database 版本 19.18 标准版或 Enterprise Edition。
  • 最多使用 8 个 OCPU 的目标 Oracle Autonomous Database Serverless 数据库可以运行 Oracle Standard Edition。使用 8 个以上 OCPU 的数据库必须运行 Oracle Enterprise 极致性能版本 19.19.0.1.0 或更高版本。
  • Oracle Zero Downtime Migration 必须是版本 21.4 或更高版本。
  • 中间存储必须包括 OCI 对象存储OCI 文件存储

复查文档

此解决方案手册介绍了如何迁移数据库负载。请参阅下面的解决方案来了解如何迁移 VMware 工作负载。对于数据库迁移的上下文、详细信息和参考,其他资源非常有用。

了解如何将工作负载的 VMware 组件迁移到 Oracle Cloud VMware Solution

查看 Oracle Zero Downtime Migration 资源:

查看逻辑迁移资源:

查看 Oracle Database 资源:

关于所需产品和角色

此解决方案需要以下产品:

  • Oracle Cloud Infrastructure 身份和访问管理
  • OCI 计算
  • OCI 对象存储
  • OCI 文件存储
  • Oracle Zero Downtime Migration
  • Oracle Cloud VMware 解决方案
  • Oracle Autonomous Database(无服务器)

这些是每种产品所需的角色。

产品名称:角色 要求 ...
Oracle Cloud Infrastructure Identity and Access Management :OCI_user 创建用于逻辑迁移的 API 密钥
OCI 计算admin 创建 OCI 计算实例以运行 Oracle Zero Downtime Migration 软件
OCI 对象存储Storage Admin 创建 OCI 对象存储存储桶
OCI 文件存储Storage Admin 为导出/导入操作创建 OCI 文件存储
Oracle Zero Downtime Migration :opc 创建 zdmuser 以安装和运行 Oracle Zero Downtime Migration 软件
Oracle Zero Downtime Migration :zdmuser
  • 安装 Oracle Zero Downtime Migration 软件
  • 运行 Oracle Zero Downtime Migration
Oracle Cloud VMware Solution 虚拟机:root/sudoer user
  • 将网络文件系统共享从 OCI 文件存储挂载到导出逻辑迁移的数据库
  • Oracle Zero Downtime Migration 虚拟机启用无密码 SSH
  • 运行 sudo 命令以安装 Oracle Zero Downtime Migration 软件代理
  • 运行 sudo 命令以备份或导出数据库
Oracle Cloud VMware Solution 数据库:sys/system 运行数据泵以导出数据库
OCI Oracle Cloud VMware Solution 和 OCI 虚拟云网络:Admin
  • 修改 Oracle Cloud VMware Solution 配置以添加 OCI 服务网关、路由和安全规则
  • 修改 Oracle Cloud VMware Solution 配置,以将路由和安全规则添加到运行目标数据库的虚拟云网络子网
Oracle Autonomous Database Serverless :Database Admin 创建目标数据库
Oracle Autonomous Database Serverless :ADMIN 运行数据泵以导入数据库

要获得所需资源,请参阅 Oracle 产品、解决方案和服务

迁移的注意事项

开始迁移之前,请查看这些假设和注意事项。

  • 逻辑迁移是唯一受支持的迁移方法。
  • 在逻辑迁移期间,将迁移可插入数据库 (pluggable database,PDB) 和/或方案。非容器数据库(非 CDB)将迁移到 Oracle Autonomous Database Serverless 数据库。
  • 在逻辑迁移期间,Oracle Zero Downtime Migration 不会将数据直接导出到 OCI 对象存储。在源数据库中,Oracle Zero Downtime Migration 会将数据导出到共享文件系统(网络文件系统或 Oracle Advanced Cluster File System)。然后,导出的数据将上载到 OCI 对象存储。目标数据库从 OCI 对象存储导入数据。
  • 源数据库可以运行 Oracle 单实例。Oracle Autonomous Database Serverless 始终运行 RAC 数据库。在数据库迁移期间,Oracle Zero Downtime Migration 会根据需要将单实例转换为 RAC 数据库。
  • 对于 Oracle Cloud VMware Solution 数据库 VM 源数据库,Oracle 透明数据加密数据库加密是可选的。将数据库迁移到 Oracle Autonomous Database Serverless 时,将始终对目标数据库进行加密。
  • 源数据库和目标数据库必须运行相同的时区文件。有关说明,请参阅“查看文档”部分中的“使用时区数据升级时区文件和时间戳”和“在 Autonomous Database 上管理时区文件版本”。
  • 此手册中的步骤假定从 Oracle Cloud VMware Solution 叠加网络(安装了数据库 VM)到将配置 Oracle Zero Downtime Migration VM 的 OCI VCN 以及将运行目标 Oracle Autonomous Database Serverless 数据库的 OCI 服务网络(显示在体系结构图中)。
  • Oracle Autonomous Database Serverless 仅支持一个名为 DATA 的标准表空间。所有表都必须放置在此表空间上。如果源数据库使用定制表空间,则在迁移期间必须将其重新映射到 DATA 表空间。
  • 源和目标数据库不必具有相同的 sys 密码、ADMIN 密码、Wallet 密码、数据库版本、数据库名称和补丁程序级别。

使用逻辑迁移进行迁移

以下步骤介绍了如何执行脱机逻辑迁移。对于联机迁移,请参阅“查看文档”部分中的分步指南 - 从内部部署到 Oracle Autonomous Database 的逻辑联机迁移

  1. 在 OCI 控制台中,验证部署 Oracle Cloud VMware Solution 时是否运行了以下工作流:
    • 配置与 Oracle 服务网络的连接
    • 配置与 VCN 资源的连接
    这些工作流允许在 Oracle Cloud VMware Solution NSX Overlay 中运行的 VM 与配置或将运行 Oracle Zero Downtime Migration 服务器的 Oracle 服务网络和 VCN 进行通信。如果尚未运行这些工作流,请运行这些工作流以配置所有必需的安全性和路由规则。
  2. 使用 OCI 控制台或 REST API 创建目标 Oracle Autonomous Database Serverless 数据库。按如下方式配置数据库:
    • 新目标数据库可以具有与源数据库不同的名称。
    • 新数据库可以是比源数据库更新的版本。
    • ADMIN 用户提供口令。记下密码。
    记下创建数据库后的数据库 OCID。
  3. 在 OCI 控制台中,在将配置目标数据库的同一 VCN 中创建计算实例。
    此计算实例可以是任何配置,其中至少有两个 OCPU 和 16GB RAM(运行 Oracle Linux 7。9 操作系统)。此虚拟机将用于运行 Oracle Zero Downtime Migration 软件。
  4. 按照“查看文档”部分中的 Oracle Zero Downtime Migration 安装文档在 OCI 计算实例上下载并安装 Oracle Zero Downtime Migration 21.4 软件。
    zdmuser 身份运行 Oracle Zero Downtime Migration 软件。
  5. 确保 Oracle Zero Downtime Migration VM 可以使用主机名和 IP 地址与源数据库主机通信。如有必要,修改 VCN DNS 解析程序或 Oracle Zero Downtime Migration VM 中的 /etc/hosts 文件。请确认以下几点:
    • 验证是否存在允许 Oracle Zero Downtime Migration VM 连接到默认监听程序端口 1521 和 ssh 端口 22 上的源数据库的安全规则。
    • 确保 Oracle Zero Downtime Migration VM 可以访问监听程序端口 1521 和 1522 上的目标数据库主机。
  6. zdmuser 身份登录到运行 Oracle Zero Downtime Migration 软件的计算实例,并生成 SSH 密钥对。启用从 zdmuser 账户到源 Oracle Cloud VMware Solution 数据库 VM 上的所有节点的无密码 SSH (rootprivilege-sudoer user)。
  7. 在 OCI 控制台中,创建 OCI 文件存储
    请注意 VCN 上的挂载目标、导出和 IP 地址。
  8. 按照“查看文档”部分中的“配置文件存储的 VCN 安全规则”中的步骤操作,创建规则以允许网络文件系统协议从 OCI NSX 叠加网络到在步骤 7 中创建的 OCI 文件存储 IP 地址。
  9. Use the IP address and Export from step 7 to mount this OCI File Storage via network file system on the source Oracle Cloud VMware Solution database VM.记下挂载点。
  10. 在 OCI 控制台中,创建 OCI 对象存储存储桶(如果尚不存在)。
    请注意 Swift URL、对象存储名称空间和存储桶名称。
  11. 在 OCI 控制台中,为拥有目标数据库的 OCI 用户创建一个 API 密钥,并有权将数据上载到在步骤 10 中创建的存储桶。
    请注意用户 OCID、租户 OCID、指纹和 OCI 区域。将对应的私钥和公钥保存在 PEM 文件中。Oracle Zero Downtime Migration 将使用此 API 密钥连接到 OCI 以在数据库迁移期间获取目标数据库信息,并将数据转储上载到 OCI 对象存储
  12. 将 PEM 文件从上一步复制到 Oracle Zero Downtime Migration VM。
  13. sys 用户身份登录到源数据库以确保参数 Streams_Pool_Size 至少设置为 2G,例如:
    SQL>show parameter streams_pool_size;
    SQL>alter system set streams_pool_size=2G scope=both SID=’*’;                  
  14. 使用零停机迁移随附的 Oracle Zero Downtime Migration 的逻辑迁移响应文件模板为迁移创建响应文件。关键参数包括:
    • TARGETDATABASE_OCID :在步骤 2 中创建的目标数据库的 OCID。
    • MIGRATION_METHOD: OFFLINE_LOGICAL
    • DATA_TRANSFER_MEDIUM: OSS
    • TARGETDATABASE_ADMINUSERNAME: ADMIN
    • SOURCEDATABASE_ADMINUSERNAME: system
    • SOURCEDATABASE_CONNECTIONDETAILS_HOST :源 Oracle Cloud VMware Solution 数据库 VM 的 IP/主机名。
    • SOURCEDATABASE_CONNECTIONDETAILS_PORT: 1521
    • SOURCEDATABASE_CONNECTIONDETAILS_SERVICENAME :源可插入数据库 (pluggable database,PDB) 或非容器数据库 (container database,CDB) 的服务名称。使用 lsnrctl 查找。
    • OCIAUTHENTICATIONDETAILS_USERPRINCIPAL_TENANTID :步骤 11 中的租户 OCID。
    • OCIAUTHENTICATIONDETAILS_USERPRINCIPAL_USERID :步骤 11 中的用户 OCID。
    • OCIAUTHENTICATIONDETAILS_USERPRINCIPAL_FINGERPRINT :步骤 11 中的指纹。
    • OCIAUTHENTICATIONDETAILS_PRIVATEKEYFILE :步骤 12 中 Oracle Zero Downtime Migration 服务器上私有密钥 PEM 文件的文件路径。
    • OCIAUTHENTICATIONDETAILS_REGIONID :步骤 11 中 OCI 用户的 OCI 区域 ID。
    • SOURCECONTAINERDATABASE_ADMINUSERNAME: system
    • SOURCECONTAINERDATABASE_CONNECTIONDETAILS_HOST :源 Oracle Cloud VMware Solution 数据库 VM 的 IP/主机名。
    • SOURCECONTAINERDATABASE_CONNECTIONDETAILS_PORT: 1521
    • SOURCECONTAINERDATABASE_CONNECTIONDETAILS_SERVICENAMEOracle Cloud VMware Solution 数据库 VM 上源容器数据库的服务名称。使用 lsnrctl 查找。
    • DATAPUMPSETTINGS_JOBMODE: SCHEMA
    • DATAPUMPSETTINGS_FIXINVALIDOBJECTS: TRUE
    • DATAPUMPSETTINGS_EXPORTDIRECTORYOBJECT_NAME: mig
    • DATAPUMPSETTINGS_EXPORTDIRECTORYOBJECT_PATH :步骤 9 中的网络文件系统挂载点。
    • DATAPUMPSETTINGS_CREATEAUTHTOKEN: FALSE
    • DATAPUMPSETTINGS_METADATAREMAPS-1type:REMAP_TABLESPACE,oldValue:USERS,newValue:DATA
    • DATAPUMPSETTINGS_METADATAREMAPS-2type:REMAP_TABLESPACE,oldValue:tablespace_to_be_migrated,newValue:DATA。要迁移每个定制表空间,需要一个表空间重新映射条目。
    • DATAPUMPSETTINGS_DATAPUMPPARAMETERS_EXPORTPARALLELISMDEGREE :如果源 Oracle Cloud VMware Solution 数据库 VM 运行 Oracle Standard Edition 2,请用数字符号 (#) 对此行进行注释。否则,根据可用 CPU 数输入大于 2 的数字。
    • DATAPUMPSETTINGS_DATABUCKET_NAMESPACE :步骤 10 中的 OCI 对象存储名称空间。
    • DATAPUMPSETTINGS_DATABUCKET_BUCKETNAME :步骤 10 中的 OCI 对象存储存储桶名称。
    • EXCLUDEOBJECTS-1: owner:PDBADMIN
  15. 运行 Oracle Zero Downtime Migration 模拟运行迁移作业 (-eval),以验证符合所有迁移先决条件。这将运行云迁移前指导工具 (CPAT) 来验证源数据库是否适合使用 Oracle Zero Downtime Migration 逻辑迁移迁移迁移到目标数据库。在继续之前解决 CPAT 报告的问题。例如:
    
    zdmcli migrate database -sourcedb source_db_unique_name \
    -sourcenode IP/hostname_of_Oracle_Cloud_VMware_Solution_database_virtual_machine \
    -srcauth zdmauth \
    -srcarg1 user:root_or_sudoer_user \
    -srcarg2 identity_file:path_to_ssh_private_key/ssh_private_key_file_name_from_step_6 \
    -srcarg3 sudo_location:/usr/bin/sudo \
    -rsp path_to_response_file/response_file_name_from_step_14 \
    -eval
    此命令要求提供两个密码。第一个口令是源数据库的系统口令。第二个密码是目标数据库的 ADMIN 密码。
    请注意 Oracle Zero Downtime Migration 作业 ID。
    成功运行后,继续执行下一步。
  16. 试运行迁移成功后,运行 Oracle Zero Downtime Migration 作业。例如:
    zdmcli migrate database -sourcedb source_db_unique_name \
    -sourcenode IP/hostname_of_Oracle_Cloud_VMware_Solution_database_virtual_machine \
    -srcauth zdmauth \
    -srcarg1 user:root_or_sudoer_user \
    -srcarg2 identity_file:path_to_ssh_private_key/ssh_private_key_file_name_from_step_6 \
    -srcarg3 sudo_location:/usr/bin/sudo \
    -rsp path_to_response_file/response_file_name_from_step_14
    此命令要求提供两个密码。第一个口令是源数据库的系统口令。第二个密码是目标数据库的 ADMIN 密码。
    请注意 Oracle Zero Downtime Migration 作业 ID。