准备使用云中的文件存储进行迁移

预配 Oracle Database Exadata Cloud ServiceOracle Cloud Infrastructure File Storage。然后,在源数据库和目标数据库上创建数据泵目录。

预配 Exadata 数据库系统

在 Oracle Cloud 区域的现有区间和可用性域中预配 Exadata 数据库系统。

云中的容器数据库 (CDB) 或系统标识符 (SID) 名必须与源数据库 CDB 或 SID 名相同。

在开始之前,区间必须具有具有专用子网的虚拟云网络 (VCN) 设置才能预配数据库系统。要访问数据库,您必须在 VCN 的公共子网中预配一个基准主机(以使其具有公共 IP),或者您需要通过 VPN 或 Oracle Cloud Infrastructure FastConnect 直接访问专用网络。在数据库专用子网上创建安全列表规则,授予从公共子网 CIDR 块访问数据库端口 (1521) 的权限。

  1. Oracle Cloud Infrastructure 控制台中,单击数据库,然后单击裸金属、VM 和 Exadata
  2. 单击创建数据库系统
  3. 指定数据库系统的基本信息:
    1. 选择区间:默认情况下,数据库系统会在当前区间中启动,您可以在该区间中使用网络资源。
    2. 命名数据库系统:为数据库系统使用友好的显示名称。
      名称不需要是唯一的。Oracle Cloud 标识符 (OCID) 将唯一标识数据库系统。
    3. 选择可用性域:数据库系统所在的可用性域。
    4. 选择配置类型:选择 Exadata
    5. 选择形状:形状确定机架大小和分配给系统的资源。
    6. 配置数据库:使用默认设置。
    7. 配置存储:指定存储分配。
      默认分配为:百分比:80% DATA、20% RECO、0% SPARSE。
      创建稀疏磁盘组会影响 ASM 磁盘组(DATA 和 RECO)的可用存储,并且在预配数据库系统后无法更改存储分配配置。
    8. 上载用于访问的 SSH 公共密钥。
      要用于数据库系统 SSH 访问的每个密钥对的公共密钥部分。您可以浏览或拖放 .pub 文件,也可以在单个公共密钥中粘贴。要粘贴多个密钥,请单击+其他 SSH 密钥,并为每个条目提供一个密钥。
    9. 选择“许可证类型:包括的许可证”(默认值),如果拥有 Oracle Database 许可证,则选择“自带许可证”。
  4. 指定网络信息:
    1. 虚拟云网络:在其中启动数据库系统的 VCN。单击更改区间以选择其他区间中的 VCN。
    2. 客户机子网:Exadata 数据库系统应附加到的子网。单击更改区间以选择其他区间中的子网。
      不要使用与 192.168.16.16/28 重叠的子网,该子网由数据库实例上的 Oracle Clusterware 专用互连使用。指定重叠子网将导致专用互连出现故障
    3. 备份子网:用于备份网络的子网,通常用于将备份信息传输到 Oracle Cloud Infrastructure 对象存储中和从 Oracle Cloud Infrastructure 对象存储中传输。
      不要使用与 192.168.128.0/20 重叠的子网。此限制适用于客户机子网和备份子网。
    4. 网络安全组:(可选)可以为客户机和备份网络指定一个或多个网络安全组 (NSG)。
      NSG 充当虚拟防火墙,允许您将一组入站和出站安全规则应用于数据库系统。最多可以指定五个 NSG。

      如果选择具有安全列表的子网,则数据库系统的安全规则将是安全列表和 NSG 中的规则的联合。

    5. 主机名前缀:指定 Exadata 数据库系统的主机名。主机名在子网中必须唯一,并且必须以字母字符开头,并且只能包含字母数字字符和连字符 (-)。Exadata 数据库系统允许的最大字符数为 12。
    6. 主机域名:数据库系统的域名。
      如果选定的子网使用 Oracle 提供的 Internet 和 VCN 解析器进行 DNS 名称解析,则此字段显示子网的域名,无法更改。否则,您可以提供域名的选择。不允许使用连字符 (-)。如果计划在对象存储中存储数据库备份,Oracle 建议您为客户机子网使用 VCN 解析器来解析 DNS 名称,因为它会自动解析用于备份的 Swift 端点。
    7. 主机和域 URL:组合主机和域名以显示数据库的全限定域名 (FQDN)。最大长度为 64 个字符。
  5. 单击下一步。
  6. 提供初始数据库的信息:
    1. 数据库名:数据库的名称。
      数据库名称必须以字母字符开头,并且最多可以包含八个字母数字字符。不允许使用特殊字符。
    2. 数据库版本:将版本 19c 指定为启动数据库系统时在数据库系统上创建的初始数据库的版本。
      目标数据库版本必须高于或等于源数据库版本。目标数据库可以是更高的补丁程序级别。如果版本较高,则在迁移之前需要升级。
      数据库系统处于活动状态后,可以在其上创建其他数据库。您可以在数据库系统上混合数据库版本。19c Exadata 数据库系统支持较早的数据库版本,可以随时创建。使用早期 Oracle Database 版本创建的 Exadata 数据库系统不会自动支持 Oracle Database 19c.必须手动升级数据库系统。
    3. PDB 名称:插接式数据库的名称。
      PDB 名称必须以字母字符开头,并且最多可以包含 8 个字母数字字符。唯一允许的特殊字符是下划线 (_)。
    4. 设置符合口令要求的 SYS 用户的口令。
      SYS 口令必须与源数据库的 SYS 口令相同。
      密码必须为 9 到 30 个字符,并且至少包含两个大写字符、两个小写字符、两个数字字符和两个特殊字符。特殊字符必须为_、#或 -。口令不能包含用户名(SYS、SYSTEM 等)或单词 "oracle" (按正向或反向顺序),而不管大小写如何。
    5. 选择工作量类型,即联机事务处理 (OLTP) 或决策支持系统 (DSS)。
  7. 配置数据库备份:指定将数据库备份到对象存储的设置。
  8. 单击创建数据库系统
    数据库系统的图标变为绿色(状态为“可用”)后,单击突出显示的数据库系统名称以查看有关数据库系统的详细信息。请注意要连接到数据库系统的 IP 地址。

在内部部署和云之间创建 SQL*Net 连接

在内部部署数据库和 Oracle Database Exadata Cloud Service 之间设置 SQL*Net 连接。

  1. 打开控制台,然后获取 Exadata 数据库系统的主机名前缀和主机域名。

    主机名前缀和主机域名构成 SERVICE_NAME。

  2. 获取 IP 地址或主机 DNS 名称和数据库主机 PORT。端口通常是 1521。
  3. 将 IP 地址或主机 DNS 名称和数据库主机端口添加到源系统中的 TNSNAMES.ora 文件。
    $ cat $ORACLE_HOME/network/admin/tnsnames.ora
  4. 使用 sqlplustnsping 根据 tnsnames.ora 中的新条目验证连接性。
    $ tnsping pdbname
    sh-4.2$ tnsping pdbname

在内部部署和云之间创建 SCP 连接

将 API 签名公共密钥上载到 Oracle Cloud Infrastructure,并在内部部署数据库和 Oracle Cloud Infrastructure File Storage 之间创建 SCP 连接。移动 expdp 转储文件需要连接。

  1. 登录控制台并查看将使用密钥对的 API 的用户的详细资料。
  2. 如果您是将使用密钥对调用 API 的用户身份的签名者,请执行以下步骤:
    1. 打开要信息菜单。
    2. 单击用户设置
  3. 如果您是为其他用户添加密钥的管理员,请执行以下步骤:
    1. 打开导航菜单。
    2. 治理和管理下,转到身份并单击用户
    3. 从列表中选择用户。
  4. 单击添加公共密钥
  5. 在对话框中粘贴 PEM 公共密钥的内容,然后单击添加

配置文件存储的 VCN 安全列表规则

在创建 VCN 时,还将创建默认安全列表。安全列表中的规则用于允许或拒绝子网流量。必须先配置安全列表规则以允许流入装载目标子网,然后才能装载文件系统。

文件存储要求有状态入站 TCP 端口 111、2048、2049 和 2050,以及有状态入站 UDP 端口 111 和 2048。
  1. 在控制台中,展开导航菜单。在核心基础结构下,单击网络,然后单击虚拟云网络
  2. 在右侧菜单的范围部分中,选择包含要与文件系统关联的子网的区间,然后单击要与文件系统关联的云网络。
  3. 在云网络的详细信息页上,单击安全列表,然后单击要与文件系统相关联的子网使用的安全列表。
  4. 在安全列表的详细信息页上,单击编辑所有规则
  5. 在左侧的资源菜单中,单击配料规则。单击添加配料规则按钮,然后单击编辑所有规则
  6. 添加允许 SCP 流量的入站规则。
  7. 单击添加配料规则

创建文件系统和装载目标

使用 Oracle Cloud Infrastructure File Storage 服务和挂载目标在云中预配共享文件系统。

通过装载目标提供对文件系统的网络访问。导出控制 NFS 客户机连接到装载目标时如何访问文件系统。文件系统必须在一个挂载目标中至少有一个导出才能挂载和使用文件系统。通常,在创建第一个文件系统时创建第一个装载目标。

使用控制台创建文件系统时,它还会创建计算实例用于访问和写入文件系统的装载目标。创建装载目标后,可以将多个文件系统与目标关联。

在创建文件系统之前,区间中必须至少有一个虚拟云网络 (VCN),并且必须为文件系统装载目标正确配置安全规则。可以在安全列表中为装载目标子网创建安全规则。
  1. 在控制台中,展开导航菜单。在核心基础结构下,单击文件存储,然后单击文件系统
  2. 在左侧导航中,在列表范围部分中选择一个区间。
  3. 单击创建文件系统
  4. (可选)文件系统信息。如果要编辑默认值,请单击编辑详细信息。
  5. (可选)导出信息。如果不希望使用默认导出路径,请指定路径。
  6. 装载目标信息。单击编辑详细信息可编辑默认值。
    文件系统必须与要由实例挂载的挂载目标关联。如果在可用性域中具有一个或多个以前创建的装载目标,则文件存储服务将自动选择列表中最近创建的装载目标。如果在所选可用性域中没有挂载目标,则文件存储服务将使用默认值创建一个挂载目标。
    1. 装载目标名称:文件存储服务使用 Mount-YYYYMMDD-HHMM 创建默认装载目标名称。为装载目标输入名称。
    2. (可选)区间。如果不希望使用默认区间(即当前使用的区间),请指定路径。
    3. 虚拟云网络:选择虚拟云网络 (VCN)。默认值为当前区间中列出的第一个 VCN。
    4. (可选)配置网络安全组:选择此选项可将此装载目标添加到已创建的 NSG。从列表中选择一个 NSG。每个装载目标最多可以属于五 (5) 个 NSG。
    5. 子网:选择装载目标的区域公共子网。默认值是在所选可用性域中列出的最近创建的子网。
  7. 单击创建
  8. 挂载文件系统。
    使用在创建文件系统时定义的文件系统装载目标名称。例如,Mount-YYYYMMDD-HHMM
    $ sudo yum install nfs-utils
    $ sudo mkdir –p /mnt/file system mount target name
    $ sudo mount 10.0.1.4:/file system mount target name  /mnt/file system mount target name

在源系统和目标系统中创建数据泵目录

在源数据库中创建指向导出文件的备份文件的数据泵目录以及 Exadata 数据库系统中的目录。

  1. 登录源数据库系统。
  2. 在数据库中创建指向导出文件的备份文件的备份目录。
    $ create or replace directory bdir as ‘/opt/oracle/oradata/backup’
  3. Oracle Database Exadata Cloud Service 中创建 dpdump 目录并将所有者和权限设置为 opc
    $ sqlplus system/password@pdb database name 
    $ create or replace directory dpdump as ‘/mnt/file system mount target name/dpdump’
  4. 创建示例文本文件并使用该文件测试数据从源数据库传输到 Exadata 数据库系统。
    $ echo test > my.txt
    $ scp -i private key my.txt opc@ip address of Exadata db system:/mnt/file system mount target name/dpdump/
  5. 使用 SFTP 登录到 Oracle Database Exadata Cloud Service 并验证您是否可以在 /mnt/file system mount target name/dpdump/ 目录中看到 my.txt 文件。