为 Snowflake 添加复制

了解如何在 OCI GoldenGate 数据复制中为 Snowflake 目标添加复制流程。

开始之前

添加复制 (26ai)

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

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

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

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

    • 选择复制类型

      • 经典复制

      • 协调的复制

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

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

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

    1. 对于复制线索:

      • 输入名称

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

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

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

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

        • Now

        • 定制时间

    2. 对于线索位置:

      • 输入序号

      • 输入 RBA 偏移

    3. 对于目标,从下拉列表中选择 Snowflake ,然后选择以下项之一:

      1. 暂存和合并,然后选择一个可用的暂存位置

    4. 对于目标身份证明:

      • 选择

      • 选择指定域中的别名

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

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

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

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

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

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

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

    table source.table1;

    注:

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

    setenv (TZ="US/Eastern")
    setenv (TZ="GMT+5")
  7. (可选)在“Properties File(属性文件)”页上,查看属性:

    • jvm.bootoptions:如果需要向 Replicat JVM 添加更多内存(-Xmx16g 最多使用 16 GB 内存,-Xmx32g 最多使用 32 GB,依此类推),请增加 -Xmx 值。

      注:与 Snowflake Streaming Handler 相关的已知问题失败,错误为 Exception: java.lang.StackOverflowError thrown from the UncaughtExceptionHandler in thread "process reaper"。要解决此问题,请将以下内容添加到 Replicat 属性文件中:

      jvm.bootoptions= -Djdk.lang.processReaperUseDefaultStackSize=true

    有关此目标属性的信息,并了解暂存和合并处理程序与流处理处理程序之间的区别,请参阅 Oracle GoldenGate for Distributed Applications and Analytics 指南中的 Snowflake

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

添加复制 (21c)

要在 Oracle GoldenGate 21 c 中为 Snowflake 添加复制:

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

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

    复制的类型包括:

    • 经典复制

    • 协调的复制

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

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

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

    3. 对于目标,从下拉列表中选择目标 Snowflake 连接。

    4. 对于可用别名,从下拉列表中选择您的别名。

    5. (可选)启用外部存储以从下拉列表中选择可用的暂存位置。

  4. 在“复制参数”页上,添加必要的映射,然后选择下一步

    注:

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

    使用协调复制将创建多个文件。如果省略,您将遇到以下错误:

    OGG-01091 Oracle GoldenGate Delivery, RSNOW.prm: Unable to open file "/u02/Deployment/etc/conf/ogg/001.properties" (error 2, No such file or directory).
    • 如果 Snowflake 中存在长时间运行的合并操作并观察到大量锁,请确保没有其他表在修改同一个表。此外,请谨慎使用协调复制,因为这可能会导致大量的表锁定。

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

    setenv (TZ="US/Eastern")
    setenv (TZ="GMT+5")

    了解有关 SETENV 的更多信息。

  5. (可选)在“Properties File(属性文件)”页上,查看以下属性:

    注:这些属性是在您创建连接时设置的,不应在此处修改。

    • ggs.eventhandler.snowflake.connectionURL:用于连接到雪花的 JDBC URL。

    • ggs.eventhandler.snowflake.UserName:Snowflake 数据库用户名。

    • ggs.eventhandler.snowflake.Password:与 Snowflake 数据库用户关联的密码。

    • ggs.eventhandler.snowflake.storageIntegration:Snowflake 数据仓库访问相应对象存储文件的身份证明。有关详细信息,请参阅 Snowflake 存储集成

    • jvm.bootoptions:如果需要向 Replicat JVM 添加更多内存(-Xmx16g 最多使用 16 GB 内存,-Xmx32g 最多使用 32 GB 内存),请增加 -Xmx 值,依此类推。)

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

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

已知问题

错误 37518857:OGGDAA GGS Snowflake 流处理复制错误

Snowflake Streaming 处理程序失败:Exception: java.lang.StackOverflowError thrown from the UncaughtExceptionHandler in thread "process reaper"

解决方法:将以下内容添加到复制属性文件:

jvm.bootoptions= -Djdk.lang.processReaperUseDefaultStackSize=true