迁移到 Oracle Autonomous Database Serverless

本节介绍如何将内部部署 x86 服务器或 Oracle Database Appliance 负载迁移到 Oracle Autonomous Database Serverless ,以及如何将 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-autonomous-serverless-vmware.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 对象存储用于在迁移期间临时存储数据库备份和导出。

使用须知

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

查看要求

  • 确保源数据库在 x86 服务器或 Oracle Database Appliance Standard Edition、Enterprise Edition 版本 19.18 或更高版本上运行。
  • 目标 Oracle Autonomous Database Serverless 数据库必须是版本 19.19.0.01 Extreme Enterprise Edition 或更高版本。
  • 最多使用 8 个 OCPU 的目标数据库可以运行 Oracle 标准版。使用 8 个以上的 OCPU 的数据库必须运行 Oracle Enterprise Edition 极致性能。
  • Oracle Zero Downtime Migration 必须是版本 21.4 或更高版本。
  • 中间存储必须包括 OCI 对象存储和 Oracle ZFS Storage Appliance (NAS)。

查看文档

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

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

查看 Oracle Zero Downtime Migration 资源:

查看逻辑迁移资源:

查看 Oracle Database 资源:

关于所需产品和角色

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

  • Oracle Cloud Infrastructure 身份和访问管理
  • OCI 计算
  • OCI 对象存储
  • Oracle Zero Downtime Migration
  • x86 服务器或 Oracle Database Appliance
  • Oracle Autonomous Database(无服务器)

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

产品名称:角色 要求 ...
Oracle Cloud Infrastructure Identity and Access Management :OCI_user
  • 创建 OCI 存储桶
  • 创建 API 密钥以将数据上载到存储桶和导入数据库
OCI 计算admin 创建 OCI 计算实例以运行 Oracle Zero Downtime Migration 软件
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 Autonomous Database Serverless :Database Admin 创建目标数据库
Oracle Autonomous Database Serverless :ADMIN 运行数据泵以导入数据库

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

迁移的注意事项

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

  • 逻辑迁移是将数据库从 x86 服务器或 Oracle Database Appliance 迁移到 Oracle Autonomous Database Serverless 的唯一受支持方法。
  • 本手册中的以下步骤介绍了如何使用脱机逻辑迁移进行迁移,有关如何使用联机逻辑迁移进行迁移的信息,请参阅“复查文档”部分。在逻辑联机迁移期间,Oracle Zero Downtime Migration 会为源数据库和目标数据库之间的迁移配置 Oracle GoldenGate ,以确保数据库在迁移期间始终联机。
  • 在逻辑迁移期间,将迁移可插入数据库 (pluggable database,PDB) 和/或方案。非容器数据库将迁移到 Oracle Autonomous Database Serverless
  • 逻辑迁移需要共享文件系统。在逻辑迁移期间,Oracle Zero Downtime Migration 不会将数据直接导出到 OCI 对象存储。在源数据库中,Oracle Zero Downtime Migration 会将数据导出到共享文件系统(网络文件系统或 Oracle Advanced Cluster File System)。然后,导出的数据将上载到 OCI 对象存储。然后,Oracle Zero Downtime Migration 将数据转储从 OCI 对象存储移至 OCI 文件存储。最后,Oracle Autonomous Database Serverless 可以直接从 OCI 对象存储导入数据。
  • x86 服务器或 Oracle Database Appliance 内部部署可以运行单实例和 RAC 数据库。Oracle Autonomous Database Serverless 运行 RAC 数据库。在数据库迁移期间,Oracle Zero Downtime Migration 会根据需要将单实例转换为 RAC 数据库。
  • 对于在 x86 服务器或 Oracle Database Appliance 上运行的内部部署数据库,Oracle 透明数据加密是可选的。将数据库迁移到 Oracle Autonomous Database Serverless 时,将始终对目标数据库进行加密。
  • 源 x86 服务器或 Oracle Database Appliance 数据库和目标数据库必须运行相同的时区文件。有关说明,请参阅“Review Documentation(查看文档)”部分中的“Manage Time Zone File Version on Autonomous Database”。有关如何在 Oracle Autonomous Database Serverless 中更新时区文件的说明,请参阅“查看文档”部分中的“在 Autonomous Database 上管理时区文件版本”。
  • 此手册中的步骤假定安装了 x86 服务器或 Oracle Database Appliance 的数据中心与配置了 Oracle Zero Downtime Migration 虚拟机的 OCI 虚拟云网络 (VCN)(通过 FastConnect 或 IPSec VPN,如体系结构图中所示)。还需要通过服务网关在 VCN 和目标数据库之间建立连接。
  • Oracle Autonomous Database Serverless 仅支持一个名为 DATA 的标准表空间。所有表都必须放置在此表空间上。如果源数据库使用定制表空间,则在迁移期间必须将其重新映射到 DATA 表空间。

使用逻辑迁移进行迁移

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

  1. 使用 OCI 控制台或 REST API 创建目标 Oracle Autonomous Database Serverless 数据库。按如下方式配置数据库:
    • 新目标数据库可以具有与源数据库不同的名称。
    • 新数据库可以是比源数据库更新的版本。
    • ADMIN 用户提供口令。记下密码。
    记下创建数据库后的数据库 OCID。
  2. 在 OCI 控制台中,在 VCN 中创建一个计算实例,该实例通过动态路由网关连接到源数据库,并通过服务网关连接到 Oracle Autonomous Database Serverless
    此计算实例可以是任何配置,其中至少有两个 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 可以访问安全 TLS 端口 2484 上的目标数据库。
  6. 在 Oracle ZFS Storage Appliance 或网络连接的存储设备上,创建要在迁移过程中用作数据库数据转储的占位符的网络文件系统共享。
  7. 在源数据库的所有节点上挂载网络文件系统共享。
    确保所有用户都具有读取、写入、执行 (rwx) 权限。记下挂载点。
  8. 在 OCI 控制台中,创建 OCI 对象存储存储桶(如果尚不存在)。
    请注意 Swift URL、对象存储名称空间和存储桶名称。
  9. 为拥有目标数据库的 OCI 用户创建 API 密钥,并有权将数据上载到在步骤 8 中创建的 OCI 对象存储存储桶。
    请注意用户 OCID、租户 OCID、指纹和 OCI 区域。将对应的私钥和公钥保存在 PEM 文件中。Oracle Zero Downtime Migration 将使用此 API 密钥连接到 OCI 以在数据库迁移期间获取目标数据库信息并将数据转储上载到 OCI 对象存储
  10. 将 PEM 文件从上一步复制到 Oracle Zero Downtime Migration VM。
  11. sys 用户身份登录到源 Oracle Database Appliance 数据库,以确保参数 Streams_Pool_Size 至少设置为 2G,例如:
    SQL>show parameter streams_pool_size;
    SQL>alter system set streams_pool_size=2G scope=both SID=’*’;                  
  12. 使用 Oracle Zero Downtime Migration 随附的逻辑迁移响应文件模板 Oracle Zero Downtime Migration 为迁移创建响应文件。关键参数包括:
    • TARGETDATABASE_OCIDOracle Autonomous Database Serverless 目标数据库的 OCID。
    • MIGRATION_METHOD: OFFLINE_LOGICAL
    • DATA_TRANSFER_MEDIUM: OSS
    • TARGETDATABASE_ADMINUSERNAME: ADMIN
    • SOURCEDATABASE_ADMINUSERNAME: system
    • SOURCEDATABASE_CONNECTIONDETAILS_HOST :源 Oracle Database Appliance 数据库中第一个节点的 IP/主机名。
    • SOURCEDATABASE_CONNECTIONDETAILS_PORT: 1521
    • SOURCEDATABASE_CONNECTIONDETAILS_SERVICENAME :源 PDB 或非容器数据库 (container database,CDB) 的服务名称。使用 lsnrctl 查找。
    • OCIAUTHENTICATIONDETAILS_USERPRINCIPAL_TENANTID :步骤 9 中的租户 OCID。
    • OCIAUTHENTICATIONDETAILS_USERPRINCIPAL_USERID :步骤 9 中的用户 OCID。
    • OCIAUTHENTICATIONDETAILS_USERPRINCIPAL_FINGERPRINT :步骤 9 中的指纹。
    • OCIAUTHENTICATIONDETAILS_PRIVATEKEYFILE :步骤 10 中 Oracle Zero Downtime Migration 服务器上私有密钥 PEM 文件的文件路径。
    • OCIAUTHENTICATIONDETAILS_REGIONID :步骤 9 中 OCI 用户的 OCI 区域 ID。
    • SOURCECONTAINERDATABASE_ADMINUSERNAME: system
    • SOURCECONTAINERDATABASE_CONNECTIONDETAILS_HOST :源 Oracle Database Appliance 数据库中第一个节点的 IP/主机名。
    • SOURCECONTAINERDATABASE_CONNECTIONDETAILS_PORT: 1521
    • SOURCECONTAINERDATABASE_CONNECTIONDETAILS_SERVICENAME :Oracle Database Appliance 数据库中源容器数据库的服务名。使用 lsnrctl 查找 )。
    • DATAPUMPSETTINGS_JOBMODE: SCHEMA
    • DATAPUMPSETTINGS_FIXINVALIDOBJECTS: TRUE
    • DATAPUMPSETTINGS_EXPORTDIRECTORYOBJECT_NAME: mig
    • DATAPUMPSETTINGS_EXPORTDIRECTORYOBJECT_PATH :步骤 6 中的网络文件存储挂载点。
    • 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 :如果源 x86 Server 或 Oracle Database Appliance 数据库运行 Oracle Standard Edition 2,请用数字符号 (#) 对此行进行注释。否则,根据可用的 CPU 数量指定大于 2 的数字。
    • DATAPUMPSETTINGS_DATABUCKET_NAMESPACE :步骤 8 中的 OCI 对象存储名称空间。
    • DATAPUMPSETTINGS_DATABUCKET_BUCKETNAME :步骤 8 中的 OCI 对象存储存储桶名称。
    • EXCLUDEOBJECTS-1: owner:PDBADMIN
  13. 运行 Oracle Zero Downtime Migration 模拟运行迁移作业 (-eval),以验证满足迁移的所有先决条件。这将运行云迁移前指导工具 (CPAT) 来验证源数据库是否适合使用 Oracle Zero Downtime Migration 逻辑迁移迁移迁移到 Oracle Autonomous Database Serverless 。在继续之前解决 CPAT 报告的问题。例如:
    zdmcli migrate database -sourcedb source_db_unique_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_12 \
    -eval
    此命令要求提供两个密码。第一个口令是源数据库的系统口令。第二个密码是目标数据库的 ADMIN 密码。
    请注意 Oracle Zero Downtime Migration 作业 ID。
    成功运行后,继续执行下一步。
  14. 试运行迁移成功后,运行 Oracle Zero Downtime Migration 作业。例如:
    zdmcli migrate database -sourcedb source_db__unique_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_12
    此命令要求提供两个密码。第一个口令是源数据库的系统口令。第二个密码是目标数据库的 ADMIN 密码。请注意 Oracle Zero Downtime Migration 作业 ID。