迁移到 Oracle Base Database ServiceOracle Exadata Database Service on Dedicated Infrastructure

本节介绍如何将内部部署 x86 服务器或 Oracle Database Appliance 工作负载迁移到 Oracle Base Database ServiceOracle Exadata Database Service on Dedicated Infrastructure ,以及如何将 VMware 应用程序迁移到 Oracle Cloud VMware Solution

体系结构

使用 Oracle Zero Downtime Migration 自动执行数据库迁移,同时在将数据从内部部署迁移到云时,停机时间极短。

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

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



x86-oda-migrate-base-exadata-vmware.zip

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

  • 区域

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

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

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

  • 专用基础设施上的 Oracle Exadata Database Service on Dedicated Infrastructure

    Oracle Exadata Database Service on Dedicated Infrastructure 在 OCI 数据中心提供 Oracle Exadata Database Machine 服务。Oracle Exadata Database Service on Dedicated Infrastructure 服务可以托管在 OCI 区域中的单个 Exadata 机架上运行的一个或多个 VM 集群中的多个 Oracle 数据库。Oracle Exadata Database Service on Dedicated Infrastructure 是一个理想的数据库整合平台。

  • Oracle Base Database Service

    通过 Oracle Base Database Service ,您可以充分利用 Oracle DatabaseOracle Cloud Infrastructure (OCI) 的组合功能,对数据保持绝对控制。OCI 在虚拟机上提供单节点数据库系统和多节点 RAC 数据库系统。单个 Oracle Base Database Service 系统可以托管单个 Oracle 容器数据库 (CDB)。此容器数据库可以托管多个可插入数据库 (PDB)。对于可迁移到可插入数据库的数据库,Oracle Base Database Service 非常适合合并数据库。

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

    Oracle 和 VMware 合作开发 VMware 认证的软件定义数据中心 (SDDC) 实施,以便在 Oracle Cloud Infrastructure 中使用。此实施称为 Oracle Cloud VMware Solution ,它使用 OCI 来托管高可用性 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 对象存储在迁移到临时存储期间使用。

使用须知

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

查看要求

  • 确保源数据库在 x86 服务器上运行,或者 Oracle Database Appliance 数据库运行的是版本 19.18 Standard Edition 或 Enterprise Edition。
  • 目标 Oracle Exadata Database Service on Dedicated Infrastructure 数据库必须是 Oracle Enterprise Extreme Performance 版本 19.18 或更高版本。
  • 目标 Oracle Base Database Service 数据库可以是标准版、Enterprise Edition、Enterprise Edition 高性能、Enterprise Edition 极致性能版本 19.18 或更高版本。
  • Oracle Zero Downtime Migration 必须是版本 21.4 或更高版本。
  • 中间存储必须包括 OCI 对象存储、Oracle ZFS Storage Appliance (NAS) 和 OCI 文件存储

查看文档

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

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

查看 Oracle Zero Downtime Migration 资源:

查看逻辑迁移资源:

查看 Oracle Database 资源:

关于所需产品和角色

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

  • Oracle Cloud Infrastructure 身份和访问管理
  • OCI 计算
  • OCI 对象存储
  • OCI 文件存储
  • Oracle Zero Downtime Migration
  • x86 服务器或 Oracle Database Appliance
  • Oracle Exadata Database Service on Dedicated InfrastructureOracle Base Database Service

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

产品名称:角色 要求 ...
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
x86 服务器或 Oracle Database Appliance:root/sudoer user
  • 将网络文件系统共享从网络连接的存储设备挂载到导出数据库以进行逻辑迁移
  • Oracle Zero Downtime Migration 虚拟机启用无密码 SSH
  • 运行 sudo 命令以安装 Oracle Zero Downtime Migration 软件代理
  • 运行 sudo 命令以备份或导出数据库
x86 服务器或 Oracle Database Appliance 数据库:sys/system 运行数据泵以导出数据库
Oracle Exadata Database Service on Dedicated InfrastructureOracle Base Database ServiceDatabase Admin 创建目标数据库
Oracle Exadata Database Service on Dedicated InfrastructureOracle Base Database Service VM 集群节点:opc
  • 将网络文件系统共享从 OCI 文件存储挂载到导入逻辑迁移的数据库
  • Oracle Zero Downtime Migration 虚拟机启用无密码 SSH
  • 安装 Oracle Zero Downtime Migration 软件代理
  • 运行 sudo 命令以恢复或导入数据库
Oracle Exadata Database Service on Dedicated InfrastructureOracle Base Database Service 数据库:sys/system 运行数据泵以导入数据库进行逻辑迁移

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

迁移的注意事项

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

  • Oracle Zero Downtime Migration 支持从 x86 服务器或 Oracle Database Appliance 到 Oracle Base Database ServiceOracle Exadata Database Service on Dedicated Infrastructure 的两种类型的数据库迁移:逻辑迁移和物理迁移。我们建议使用逻辑迁移,因为此方法最简单。物理迁移要求源数据库和目标数据库处于同一补丁程序级别。
  • 本手册中的步骤介绍了如何使用脱机逻辑迁移进行迁移,有关如何使用联机逻辑迁移进行迁移的信息,请参阅“复查文档”部分。在逻辑联机迁移期间,Oracle Zero Downtime Migration 会为源数据库和目标数据库之间的迁移配置 Oracle GoldenGate ,以确保数据库在迁移期间始终联机。
  • 在逻辑迁移期间,将迁移可插入数据库 (pluggable database,PDB) 和/或方案。非容器数据库(非 CDB)将迁移到在 Oracle Base Database ServiceOracle Exadata Database Service on Dedicated Infrastructure 上运行的容器数据库中配置的可插入数据库。
  • 逻辑迁移需要共享文件系统。在逻辑迁移期间,Oracle Zero Downtime Migration 不会将数据直接导出到 OCI 对象存储。在源数据库中,Oracle Zero Downtime Migration 会将数据导出到共享文件系统(网络文件系统或 Oracle Advanced Cluster File System)。然后,导出的数据将上载到 OCI 对象存储。然后,Oracle Zero Downtime Migration 将数据转储从 OCI 对象存储移至 OCI 文件存储。最后,Oracle Base Database ServiceOracle Exadata Database Service on Dedicated Infrastructure 可以通过网络文件系统从 OCI 文件存储导入数据。
  • 内部部署 x86 服务器或 Oracle Database Appliance 数据库可以同时运行单实例和 RAC 数据库。Oracle Base Database Service 可以同时运行单实例和 RAC 数据库,而 Oracle Exadata Database Service on Dedicated Infrastructure 始终运行 RAC 数据库。在数据库迁移期间,Oracle Zero Downtime Migration 会根据需要将单实例转换为 RAC 数据库。
  • 对于在 x86 服务器或 Oracle Database Appliance 上运行的内部部署数据库,Oracle 透明数据加密数据库加密是可选的。将数据库迁移到 Oracle Base Database ServiceOracle Exadata Database Service on Dedicated Infrastructure 时,将始终加密目标数据库。
  • 源数据库和目标数据库必须运行相同的时区文件。有关说明,请参阅“查看文档”部分中的“使用时区数据升级时区文件和时间戳”。
  • 此手册中的步骤假定安装了 Oracle Database Appliance 的数据中心与配置了目标数据库和 Oracle Zero Downtime Migration 虚拟机的 OCI 虚拟云网络之间存在直接网络连接(通过 FastConnect 或 IPSec VPN,如体系结构图中所示)。
  • 源和目标数据库不必具有相同的 sys 密码、Wallet 密码、数据库版本、数据库名称和补丁程序级别。

使用逻辑迁移进行迁移

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

  1. 使用 OCI 控制台或 REST API 创建目标 Oracle Exadata Database Service on Dedicated InfrastructureOracle Base Database Service 数据库。按如下方式配置数据库:
    • 新目标数据库可以具有与源数据库不同的名称。
    • 新数据库可以是比源数据库更新的版本。
    • sys 用户提供密码。记下密码。
    记下创建数据库后的数据库 OCID。
  2. 在 OCI 控制台中,在将配置目标数据库的同一 VCN 中创建计算实例。
    此计算实例可以是任何配置,其中至少有两个 OCPU 和 16GB RAM(运行 Oracle Linux 7。9 操作系统)。此虚拟机将用于运行 Oracle Zero Downtime Migration 软件。
  3. 按照“查看文档”部分中的 Oracle Zero Downtime Migration 安装文档在 OCI 计算实例上下载并安装 Oracle Zero Downtime Migration 21.4 软件。
    zdmuser 身份运行 Oracle Zero Downtime Migration 软件。
  4. zdmuser 身份登录到运行 Oracle Zero Downtime Migration 软件的计算实例,并生成 SSH 密钥对。启用从 zdmuser 帐户到源数据库上的所有节点的无口令 SSH (rootprivilege-sudoer user)。
  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 和 ssh 端口 22 上的目标数据库主机。
  6. 在 Oracle ZFS Storage Appliance 或网络连接的存储设备上,创建要在迁移过程中用作数据库数据转储的占位符的网络文件系统共享。
  7. 在源数据库的所有节点上挂载网络文件系统共享。
    确保所有用户都具有读取、写入、执行 (rwx) 权限。记下挂载点。
  8. 在 OCI 控制台中,创建 OCI 文件存储
    记下虚拟云网络 (VCN) 的挂载目标、导出和 IP 地址。
  9. 使用 IP 地址并从步骤 8 中导出,以在目标数据库 VM 集群的所有节点上通过网络文件系统挂载此文件存储。
    确保 VCN 包括一个安全策略,以允许目标数据库子网上的网络文件系统协议。记下挂载点。
  10. 在 OCI 控制台中,创建 OCI 对象存储存储桶(如果尚不存在)。
    请注意 Swift URL、对象存储名称空间和存储桶名称。
  11. 在 OCI 控制台中,为拥有目标数据库的 OCI 用户创建一个 API 密钥,并有权将数据上载到在步骤 10 中创建的 OCI 对象存储存储桶。
    请注意用户 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 :步骤 1 中目标数据库的 OCID。
    • MIGRATION_METHOD: OFFLINE_LOGICAL
    • DATA_TRANSFER_MEDIUM: OSS
    • TARGETDATABASE_ADMINUSERNAME: system
    • SOURCEDATABASE_ADMINUSERNAME: system
    • SOURCEDATABASE_CONNECTIONDETAILS_HOST :源数据库上第一个节点的 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。
    • TARGETDATABASE_CONNECTIONDETAILS_HOST :目标数据库系统上第一个 VM 的 IP/主机名。
    • TARGETDATABASE_CONNECTIONDETAILS_PORT: 1521
    • TARGETDATABASE_CONNECTIONDETAILS_SERVICENAME :目标数据库中目标可插入数据库的服务名。使用 lsnrctl 查找。
    • SOURCECONTAINERDATABASE_ADMINUSERNAME: system
    • SOURCECONTAINERDATABASE_CONNECTIONDETAILS_HOST :源数据库上第一个节点的 IP/主机名。
    • SOURCECONTAINERDATABASE_CONNECTIONDETAILS_PORT: 1521
    • SOURCECONTAINERDATABASE_CONNECTIONDETAILS_SERVICENAME :源服务器上源容器数据库的服务名称。使用 lsnrctl 查找 )。
    • DATAPUMPSETTINGS_JOBMODE: SCHEMA
    • DATAPUMPSETTINGS_FIXINVALIDOBJECTS: TRUE
    • DATAPUMPSETTINGS_EXPORTDIRECTORYOBJECT_NAME: mig
    • DATAPUMPSETTINGS_EXPORTDIRECTORYOBJECT_PATH :步骤 6 中的网络文件系统挂载点。
    • DATAPUMPSETTINGS_IMPORTDIRECTORYOBJECT_NAME: mig
    • DATAPUMPSETTINGS_IMPORTDIRECTORYOBJECT_PATH :步骤 8 中的网络文件系统挂载点。
    • DATAPUMPSETTINGS_CREATEAUTHTOKEN: TRUE
    • DATAPUMPSETTINGS_DATAPUMPPARAMETERS_IMPORTPARALLELISMDEGREE :如果目标为运行 Oracle Standard Edition 2 的 Oracle Base Database Service ,请用数字符号 (#) 对此行进行注释。否则,请输入大于 2 的数字,或使用 Oracle Zero Downtime Migration 默认值(CPU 计数)。
    • DATAPUMPSETTINGS_DATAPUMPPARAMETERS_EXPORTPARALLELISMDEGREE :如果源数据库运行 Oracle Standard Edition 2,请用数字符号 (#) 对此行进行注释。否则,请输入大于 2 的数字,或使用 Oracle Zero Downtime Migration 默认值(CPU 计数)。
    • DATAPUMPSETTINGS_DATABUCKET_NAMESPACE :步骤 10 中的 OCI 对象存储名称空间。
    • DATAPUMPSETTINGS_DATABUCKET_BUCKETNAME :步骤 10 中的 OCI 对象存储存储桶名称。
    • TABLESPACEDETAILS_AUTOCREATE: TRUE
    • TABLESPACEDETAILS_USEBIGFILE: TRUE
    • TABLESPACEDETAILS_EXTENTSIZEMB: 512
    • EXCLUDEOBJECTS-1: owner:PDBADMIN
  15. 运行 Oracle Zero Downtime Migration 模拟运行迁移作业 (-eval),以验证符合所有迁移先决条件。这将运行云迁移前指导工具 (CPAT) 来验证源数据库是否适合使用 Oracle Zero Downtime Migration 逻辑迁移迁移迁移到目标数据库。在继续之前解决 CPAT 报告的问题。例如:
    
    zdmcli migrate database -sourcedb source_db_name \
    -sourcenode IP/hostname_of_first_x86_server/Oracle_Database_Appliance_node \
    -srcauth zdmauth \
    -srcarg1 user:root_or_sudoer_user \
    -srcarg2 identity_file:path_to_ssh_private_key/ssh_private_key_file_name_from_step_4 \
    -srcarg3 sudo_location:/usr/bin/sudo \
    -rsp path_to_response_file/response_file_name_from_step_14 \
    -eval
    此命令要求提供两个密码。第一个口令是源数据库的系统口令。第二个密码是目标数据库的系统密码。
    请注意 Oracle Zero Downtime Migration 作业 ID。
    成功运行后,继续执行下一步。
  16. 试运行迁移成功后,运行 Oracle Zero Downtime Migration 作业。例如:
    zdmcli migrate database -sourcedb source_db_name \
    -sourcenode IP/hostname_of_first_x86_server/Oracle_Database_Appliance_node \
    -srcauth zdmauth \
    -srcarg1 user:root_or_sudoer_user \
    -srcarg2 identity_file:path_to_ssh_private_key/ssh_private_key_file_name_from_step_4 \
    -srcarg3 sudo_location:/usr/bin/sudo \
    -rsp path_to_response_file/response_file_name_from_step_14
    此命令要求提供两个密码。第一个口令是源数据库的系统口令。第二个密码是目标数据库的系统密码。
    请注意 Oracle Zero Downtime Migration 作业 ID。