为 Amazon S3 添加复制

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

开始之前

在为 Amazon S3 添加和运行复制之前,请确保您具有:

添加复制 (26ai)

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

要在 GoldenGate 26ai 中添加复制:

  1. 在 OCI GoldenGate 部署控制台导航菜单中,选择 Replicat

  2. 在 "Replicat"(复制)页面上,选择 Add Replicat(添加复制)

  3. 在“添加复制”面板的复制信息页上,根据需要填写字段,然后选择下一步

    • 选择复制类型

      • 经典复制

      • 协调的复制

    • 输入 Process Name(流程名称),长度不超过 5 个字符。

    • 输入说明,以帮助区分此流程与其它流程。

  4. 复制选项页上,根据需要填写字段,然后选择下一步

    • 复制线索:

      • 输入名称

      • 如果希望 Trail 文件位于非默认位置,请输入 Subdirectory

      • 选择 Encryption profile 。如果未创建加密配置文件,则默认情况下会选择本地 Wallet。

      • 对于开始,选择数据处理的起点:

        • 日志中的位置(默认值)

        • Now

        • 定制时间

    • 线索位置:

      • 输入序号

      • 输入 RBA 偏移

      • 从下拉列表中选择目标

        注:根据您的目标选择,您可能具有流处理、暂存和合并以及暂存位置等附加选项。

    • 目标身份证明:

      • 选择

      • 选择指定域中的别名

      • 选择检查点表。保留默认选择,或选择为目标部署创建的检查点表。

      • 选择 Max Threads Number (最大线程数)(仅限协调复制)。

  5. 托管选项页面上,根据需要填写可选字段,然后选择下一步

    • 选择配置文件名称(如果有)。

    • 对于部署的健康状况至关重要。

    • 启用和配置自动启动设置。

  6. Parameter File(参数文件)页面上,可以添加参数以进一步配置复制。例如:

    table source.table1;

    注:

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

    setenv (TZ="US/Eastern")
    setenv (TZ="GMT+5")
  7. 在“属性文件”页上,配置以下 Amazon S3 属性:

    • gg.eventhandler.s3.region 为目标 S3 存储桶提供 AWS 区域。

    • gg.eventhandler.s3.bucketMappingTemplate: 提供目标 S3 存储桶名称。如果存储桶不存在,它只能由 OCI GoldenGate 自动创建。您可以提供静态存储桶名称,也可以使用模板关键字动态分配存储桶名称。

      注:确保存储桶名称仅包含小写字符。大写字符可能会导致复制失败。

    • (可选)gg.handler.abs.format:选择如何格式化输出。JSON 是默认设置。可用的选项包括:

    • 分隔文本

    • json

    • json_ 行

    • xml

    • avro_row_ocf

    • avro_op_ocf

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

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

  8. 选择创建并运行。如果选择创建,则以后可以从“复制”页手动启动复制。

添加复制 (21c)

  1. 在 OCI GoldenGate 部署控制台的“管理服务概览”页上,选择添加复制(加号图标)。

  2. 在“添加复制”页上,选择复制类型,然后选择下一步

    复制的类型包括:

    • 经典复制

    • 协调的复制

  3. 在“复制选项”页面上,填写以下字段,然后选择下一步

    1. 对于流程名称,输入复制流程的名称。

    2. (可选)在说明中,输入简短说明以将此流程与其他流程区分开来。

    3. 对于线索名称,输入两个字符的线索名称。

    4. 对于目标,从下拉列表中选择 Amazon S3

    5. 对于 Available Aliases for Amazon S3 ,从下拉列表中选择您的别名。

  4. 在“参数文件”页上,根据需要添加和配置复制参数,然后选择下一步

    table source.table1;

    注:

    默认情况下,GoldenGate 使用格林威治标准时间 (GMT)。使用 SETENV 覆盖提取的默认设置。此更改仅适用于“提取”处理,不适用于部署。

    setenv (TZ="US/Eastern")
    setenv (TZ="GMT+5")
  5. 在“属性文件”页上,配置以下 Amazon S3 属性:

    • gg.eventhandler.s3.region 为目标 S3 存储桶提供 AWS 区域。

    • gg.eventhandler.s3.bucketMappingTemplate: 提供目标 S3 存储桶名称。如果存储桶不存在,它只能由 OCI GoldenGate 自动创建。您可以提供静态存储桶名称,也可以使用模板关键字动态分配存储桶名称。

    注:确保存储桶名称仅包含小写字符。大写字符可能会导致复制失败。

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

  6. 选择创建并运行。如果选择创建,则稍后可以从“管理服务概览”页手动启动复制。

返回到“Administration Service Overview(管理服务概览)”页,在此页上可以查看复制进程的创建并访问复制操作。

Amazon S3 的已知问题

具有共享端点的 Amazon S3 和 Google Cloud Storage 连接出现 Java.net.UnknownHostException 错误

使用 Amazon S3 和 Google Cloud Storage 连接与共享端点时,可能会遇到 Java.net.UnknownHostException 错误。

解决方法:编辑连接并将流量路由方法更改为专用,或者在创建 Amazon S3 和 Google 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> --connection-region <amazon_s3_bucket_region>
  3. 将连接分配给您的部署。

  4. 为 Amazon S3 添加并运行复制。

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

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