为 OCI 对象存储添加副本

开始之前

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

  • 区间 OCID

    提示:

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

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

  • OCI Object Storage 存储桶名称

    提示:

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

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

添加副本 (23ai)

开始之前

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

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

        注意:

        根据您的目标选择,您可能有其他选项,例如流处理、暂存和合并以及暂存位置。
    • 目标身份证明:
      • 选择
      • 选择指定域中的别名
      • 选择检查点。保留默认选择,或选择您为目标部署创建的检查点表。
      • 选择最大线程数(仅限协调的复制)。
  4. 托管选项页上,根据需要填写可选字段,然后单击下一步
    • 选择概要文件名称(如果有)。
    • 启用对部署健康状况至关重要。
    • 启用和配置自动启动设置。
  5. 参数文件页上,可以添加参数以进一步配置复制。例如:
    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")
  6. 在“属性文件”页上,根据需要配置文件处理程序和 OCI 事件处理程序属性,然后单击下一步。要考虑修改的一些属性包括:
    1. gg.handler.name.format:选择如何设置输出数据的格式。可用的选项包括:
      • delimitedtext
      • json
      • json_row
      • xml
      • avro_row
      • avro_op
      • avro_row_ocf
      • avro_op_ocf

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

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

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

    注意:

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

添加复制 (21c)

要为 OCI 对象存储目标添加复制:
  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,必须应用其他属性。有关详细信息,请参阅关于 OCI 对象存储的参数

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

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

    注意:

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

已知问题

使用资源主用户时出现 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 的显示