为 OCI 对象存储添加副本

开始之前

在添加复制之前,请确保具有以下内容:

  • 区间 OCID

    提示:

    您可以在“区间详细信息”页面上找到区间 OCID。
    1. 打开 Oracle Cloud 控制台导航菜单,依次选择身份区间
    2. 从列表中选择区间以访问“区间详细信息”页面。
    3. 从“区间信息”部分复制区间 OCID。

    有关更多信息,请参见 Find the OCID of a Compartment

  • Oracle 对象存储存储桶名

    提示:

    Oracle 建议您创建自己的 Oracle 对象存储存储桶。
    1. 打开 Oracle Cloud 控制台导航菜单,依次选择存储存储桶
    2. 单击创建存储桶
    3. 在“创建存储桶”面板中,输入一个名称,然后单击创建

    有关更多信息,请参见使用控制台创建存储桶

添加 Replicat (26ai)

开始之前

确保查看特定于此目标类型的先决条件

要在 GoldenGate 26ai 中添加 Replicat
  1. OCI GoldenGate 部署控制台导航菜单中,单击 Replicat
  2. 复制页上,单击添加复制
  3. 在“添加复制”面板的复制信息页上,根据需要填写字段,然后单击下一步
    • 选择复制类型
      • 经典复制
      • 协调的复制
    • 输入进程名称,长度不超过 5 个字符。
    • 输入说明,以帮助区分此流程与其他流程。
  4. 复制选项页上,根据需要填写字段,然后单击下一步
    • 复制线索:
      • 输入名称
      • 如果希望跟踪文件位于非默认位置,请输入子目录
      • 选择加密配置文件。如果未创建加密概要信息,则默认情况下会选择本地 Wallet。
      • 对于开始,选择数据处理的起点:
        • 日志中的位置(默认)
        • Now
        • 定制时间
    • 线索位置:
      • 输入序号
      • 输入 RBA 偏移
      • 从下拉列表中选择目标

        注意:

        根据您的目标选择,您可能有其他选项,例如流处理、暂存和合并以及暂存位置。
    • 目标身份证明:
      • 选择
      • 选择指定域中的别名
      • 选择检查点。保留默认选择,或者选择为目标部署创建的检查点表。
      • 选择最大线程数(仅限协调的复制)。
  5. 托管选项页上,根据需要填写可选字段,然后单击下一步
    • 选择概要文件名称(如果有)。
    • 启用对部署健康状况至关重要。
    • 启用和配置自动启动设置。
  6. 参数文件页上,可以添加参数以进一步配置复制。例如:
    table source.table1;

    如果使用协调的 Replicat ,请将 TARGETDB LIBFILE libggjava.so SET property=/u02/Deployment/etc/conf/ogg/your_replicat_name.properties 添加到参数文件中。

    注意:

    GoldenGate 默认使用格林威治标准时间 (GMT)。使用 SETENV 覆盖此复制进程的默认设置。此更改不适用于部署。例如:

    setenv (TZ="US/Eastern")
    setenv (TZ="GMT+5")
  7. 在“属性文件”页上,根据需要配置文件处理程序和 OCI 事件处理程序属性,然后单击下一步。要考虑修改的一些属性包括:
    1. gg.handler.name.format:选择如何设置输出数据的格式。可用的选项包括:
      • delimitedtext
      • json
      • json_row
      • xml
      • avro_row
      • avro_op
      • avro_row_ocf
      • avro_op_ocf

      对于 parquet,必须应用其他属性。有关详细信息,请参阅Oracle 对象存储的参数

    2. gg.handler.name.fileNameMappingTemplate:使用 Template Keywords 动态生成文件名。
    3. gg.handler.name.inactivityRollInterval:GoldenGate 创建文件并使其保持打开状态以进行写入。此属性在指定的不活动期间(无传入事务处理)后关闭文件,然后加载到 Oracle 对象存储中。
    4. gg.eventhandler.name.compartmentID:输入区间 OCID。
    5. gg.eventhandler.name.bucketMappingTemplate:输入对象存储存储桶名称。

    单击此处的链接,可以了解有关文件写入器处理程序OCI 事件处理程序配置属性的更多信息。

    注意:

    您还可以根据需要添加可插入格式化程序。有关详细信息,请参阅 Pluggable Formatters
  8. 单击创建并运行。如果单击创建,则稍后可以从复制页手动启动复制

添加复制 (21c)

要为 Oracle 对象存储目标添加复制,请执行以下操作:
  1. OCI GoldenGate 部署控制台的“管理服务概览”页上,单击添加复制(加号图标)。
  2. 在“添加复制”页上,选择复制类型,然后单击下一步
    副本的类型包括:
    • 经典复制
    • 协调的复制
  3. 在“复制选项”页上,填写以下字段,然后单击下一步
    1. 对于进程名称,输入复制进程的名称。
    2. (可选)对于“描述”,输入简短描述以将此处理与其他处理区分开来。
    3. 对于“线索名称”,输入两个字符的线索名称。
    4. 对于目标,从下拉列表中选择 Oracle 对象存储
    5. 对于 OCI 的可用别名,请从下拉列表中选择您的别名。
  4. 在“参数文件”页上,根据需要添加和配置复制参数,然后单击下一步

    注意:

    • 如果使用协调复制,请在参数文件的第二行添加以下参数:
      TARGETDB LIBFILE libggjava.so SET property=/u02/Deployment/etc/conf/ogg/<replicat
            name>.properties

      使用协调复制将创建多个文件。

      如果省略,您将遇到以下错误:

      OGG-01091 Oracle GoldenGate Delivery, RSNOW.prm: Unable to open file
            "/u02/Deployment/etc/conf/ogg/<replicat name>001.properties" (error 2, No such file or
            directory).
    • GoldenGate 默认使用格林威治标准时间 (GMT)。使用 SETENV 覆盖默认设置。例如:
      setenv (TZ="US/Eastern")
      setenv (TZ="GMT+5")

      了解有关 SETENV 的详细信息。

  5. 在“属性文件”页上,根据需要配置文件处理程序和 OCI 事件处理程序属性,然后单击下一步。要考虑修改的一些属性包括:
    1. gg.handler.name.format:选择如何设置输出数据的格式。可用的选项包括:
      • delimitedtext
      • json
      • json_row
      • xml
      • avro_row
      • avro_op
      • avro_row_ocf
      • avro_op_ocf

      对于 parquet,必须应用其他属性。有关详细信息,请参阅Oracle 对象存储的参数

    2. gg.handler.name.fileNameMappingTemplate:使用 Template Keywords 动态生成文件名。
    3. gg.handler.name.inactivityRollInterval:GoldenGate 创建文件并使其保持打开状态以进行写入。此属性在指定的不活动期间(无传入事务处理)后关闭文件,然后加载到 Oracle 对象存储中。
    4. gg.eventhandler.name.compartmentID:输入区间 OCID。
    5. gg.eventhandler.name.bucketMappingTemplate:输入对象存储存储桶名称。

    详细了解文件写入器处理程序OCI 事件处理程序属性。

    注意:

    您还可以根据需要添加可插入格式化程序。有关更多信息,请参见 Using the Pluggable Formatters
  6. 单击添加并运行
您将返回到“管理服务概览”页,在该页中可以监视复制进程的状态。单击处理名称以查看其详细信息并访问报告。

Oracle 对象存储连接的已知问题

使用资源主用户时出现 OCI 对象存储复制错误

使用使用资源主用户验证的 OCI 对象存储连接时,复制失败,并出现以下错误:
ERROR 2025-06-12 14:48:16.000489 [main] - An exception has occurred: java.lang.NullPointerException: Cannot invoke "String.startsWith(String)" because "path" is null java.lang.NullPointerException: Cannot invoke "String.startsWith(String)" because "path" is null

解决方法:要解决此问题,请编辑连接,然后选择其他验证方法。

OCI 对象存储连接中的用户 OCID 不匹配(仅限联合用户)

如果联合用户在创建 OCI 对象存储连接时选择“使用当前用户”,则其 OCID 与系统选取的 OCID 不匹配。

解决方法:创建 OCI 对象存储连接时,请确保选择指定其他用户,然后输入联合用户的 OCID。

要查找用户 OCID,请单击 Oracle Cloud 控制台全局标题中的概要信息,然后选择用户名。在“用户详细信息”页的“用户信息”下,单击 OCID 的显示