为 Snowflake 添加复制
了解如何在 OCI GoldenGate 数据复制中为 Snowflake 目标添加复制流程。
开始之前
-
验证 Snowflake 数据库中是否存在目标表。
-
如果您打算使用任何外部阶段位置,例如 S3、ADLS Gen2 或 GCS,则必须设置 Amazon Web Services、Google Cloud Platform 或 Azure 云账户。
-
Snowflake JDBC 驱动程序连接字符串
-
必须为用于复制到 Snowflake 的数据库用户授予以下权限:
-
目标表中的
INSERT、UPDATE、DELETE和TRUNCATE。 -
Snowflake 上的
CREATE和DROP命名阶段和外部阶段。 -
如果使用外部阶段(S3、ADLS、GCS)、
CREATE、ALTER和DROP外部表。
-
-
查看 Configuration Considerations and Best Practices for Snowflake
添加复制 (26ai)
确保查看特定于此目标类型的先决条件。
-
在 OCI GoldenGate 部署控制台导航菜单中,选择 Replicat 。
-
在 "Replicat"(复制)页面上,选择 Add Replicat(添加复制)。
-
在“添加复制”面板的复制信息页上,根据需要填写字段,然后选择下一步:
-
选择复制类型:
-
经典复制
-
协调的复制
-
-
输入 Process Name(流程名称),长度不超过 5 个字符。
-
输入说明,以帮助区分此流程与其它流程。
-
-
在复制选项页上,根据需要填写字段,然后选择下一步:
-
对于复制线索:
-
输入名称。
-
如果希望 Trail 文件位于非默认位置,请输入 Subdirectory 。
-
选择 Encryption profile 。如果未创建加密配置文件,则默认情况下会选择本地 Wallet。
-
对于开始,选择数据处理的起点:
-
日志中的位置(默认值)
-
Now
-
定制时间
-
-
-
对于线索位置:
-
输入序号。
-
输入 RBA 偏移。
-
-
对于目标,从下拉列表中选择 Snowflake ,然后选择以下项之一:
-
流
-
暂存和合并,然后选择一个可用的暂存位置
-
-
对于目标身份证明:
-
选择域。
-
选择指定域中的别名。
-
选择检查点表。保留默认选择,或选择为目标部署创建的检查点表。
-
选择 Max Threads Number (最大线程数)(仅限协调复制)。
-
-
-
在托管选项页面上,根据需要填写可选字段,然后选择下一步:
-
选择配置文件名称(如果有)。
-
对于部署的健康状况至关重要。
-
启用和配置自动启动设置。
-
-
在 Parameter File(参数文件)页面上,可以添加参数以进一步配置复制。例如:
table source.table1;注:
默认情况下,GoldenGate 使用格林威治标准时间 (GMT)。使用 SETENV 覆盖复制的默认设置。此更改不适用于部署。例如:
setenv (TZ="US/Eastern") setenv (TZ="GMT+5") -
(可选)在“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 。
-
-
选择创建并运行。如果选择创建,则以后可以从“复制”页手动启动复制。
添加复制 (21c)
要在 Oracle GoldenGate 21 c 中为 Snowflake 添加复制:
-
在 OCI GoldenGate 部署控制台的“管理服务概览”页上,选择添加复制(加号图标)。
-
在“添加复制”页上,选择复制类型,然后选择下一步。
复制的类型包括:
-
经典复制
-
协调的复制
-
-
在“复制选项”页面上,填写以下字段,然后选择下一步:
-
对于流程名称,输入复制流程的名称。
-
对于线索名称,输入两个字符的线索名称。
-
对于目标,从下拉列表中选择目标 Snowflake 连接。
-
对于可用别名,从下拉列表中选择您的别名。
-
(可选)启用外部存储以从下拉列表中选择可用的暂存位置。
-
-
在“复制参数”页上,添加必要的映射,然后选择下一步:
注:
- 如果使用协调复制,请在参数文件的第二行添加以下参数:
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 的更多信息。
-
(可选)在“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 值,依此类推。)
-
-
选择创建并运行。如果选择创建,则稍后可以从“管理服务概览”页手动启动复制。
返回到“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