为 Amazon S3 添加复制

了解如何在 OCI GoldenGate 中为 Amazon S3 目标创建复制流程

开始之前

在为 Amazon S3 添加和运行副本之前,请确保您具有以下内容:

  • 创建并分配给目标大数据部署的 Amazon S3 连接
  • Amazon Web Services (AWS) 区域

添加副本 (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. 在“属性文件”页上,配置以下 Amazon S3 属性:
    • gg.eventhandler.s3.region 为目标 S3 存储桶提供 AWS 区域。
    • gg.eventhandler.s3.bucketMappingTemplate: 提供目标 S3 存储桶名称。如果存储桶不存在,则只能由 OCI GoldenGate 自动创建。您可以提供静态存储桶名称,也可以使用模板关键字动态分配存储桶名称。

      注意:

      确保存储桶名称仅包含小写字符。大写字符可能会导致复制失败。
    • (可选)gg.handler.abs.format:选择如何设置输出的格式。JSON 是默认设置。可用的选项包括:

      对于 parquet,必须应用其他属性。有关详细信息,请参见 Parquet for Amazon S3

      有关此目标属性的信息,请参见 Oracle GoldenGate for Distributed Applications and Analytics 指南中的 Amazon S3

  7. 单击创建并运行。如果单击创建,则可以稍后从管理服务主页手动启动复制

添加复制 (21c)

了解如何为 Amazon S3 添加复制过程。

要为 Amazon S3 目标添加复制,请执行以下操作:
  1. OCI GoldenGate 部署控制台的“管理服务概览”页上,单击添加复制(加号图标)。
  2. 在“添加复制”页上,选择复制类型,然后单击下一步
    副本的类型包括:
    • 经典复制
    • 协调的复制
  3. 在“复制选项”页上,填写以下字段,然后单击下一步
    1. 对于进程名称,输入复制进程的名称。
    2. (可选)对于说明,输入简短说明以将此流程与其他流程区分开来。
    3. 对于线索名称,输入两个字符的线索名称。
    4. 对于目标,从下拉列表中选择 Amazon S3
    5. 对于Amazon S3 的可用别名,请从下拉列表中选择您的别名。
  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. 在“属性文件”页上,配置以下 Amazon S3 属性:
    • gg.eventhandler.s3.region 为目标 S3 存储桶提供 AWS 区域。
    • gg.eventhandler.s3.bucketMappingTemplate: 提供目标 S3 存储桶名称。如果存储桶不存在,则只能由 OCI GoldenGate 自动创建。您可以提供静态存储桶名称,也可以使用模板关键字动态分配存储桶名称。

      注意:

      确保存储桶名称仅包含小写字符。大写字符可能会导致复制失败。
    • (可选)gg.handler.abs.format:选择如何设置输出的格式。JSON 是默认设置。可用的选项包括:

      对于 parquet,必须应用其他属性。有关详细信息,请参见 Parquet for Amazon S3

  6. 单击创建并运行。如果单击创建,则以后可以从“管理服务概览”页手动启动复制。
您可以返回到“管理服务概览”页,在该页中可以查看复制进程的创建并访问复制操作。

已知问题

遇到与共享端点的 Amazon S3Google Cloud Storage 连接的 Java.net.UnknownHostException 错误

解决方法:编辑连接并将流量路由方法更改为专用,或者在创建 Amazon S3Google Cloud Storage 连接时选择专用

OCI GoldenGate 中的 Amazon S3 连接出现问题

如果您在使用 Amazon S3 连接时遇到以下错误,请打开支持请求单,共享详细信息和错误消息。

ERROR 2024-03-04 11:42:31.000505 [TaskEngine_2(FileFinalizeTask)] - Verify S3 bucket
      [ggstest] failed.com.amazonaws.SdkClientException: Unable to execute HTTP request: s3.us-east-2.amazonaws.com

然后,您可以使用以下步骤作为临时解决方法。

解决方法:

  1. 连接到 Cloud Shell。
  2. 使用以下 CLI 样例创建新的 Amazon S3 连接:
    oci goldengate connection create-amazon-s3-connection --routing-method SHARED_SERVICE_ENDPOINT --display-name <connection_name> --compartment-id <compartment_ocid> --technology-type AMAZON_S3 --access-key-id <aws_access_key> --secret-access-key <aws_secret>
  3. 将连接分配给您的部署。
  4. Amazon S3 添加并运行 Replicat

或者,如果您不希望使用公共访问,请将 Amazon S3 连接的存储桶配置为使用 AWS VPC Endpoints。要使 OCI GoldenGate 使用 VPC Endpoints 访问 S3 存储桶,还必须在 VCN 和 AWS VPC 之间配置 IPsec VPN。

要设置 Amazon S3 的端点,请将 gg.eventhandler.s3.url 属性添加到复制属性文件,并为专用连接提供端点。