gpt4 book ai didi

java - 如何告诉初始数据加载仅插入目标数据库中不存在的值?

转载 作者:行者123 更新时间:2023-12-01 12:32:10 25 4
gpt4 key购买 nike

我在一个表中有一些大数据,在另一个表中有小数据,有什么方法可以运行金门的初始加载,这样两个表中的相同数据就不会被更改,并且其余数据从一个表传输到其他。

最佳答案

初始加载通常在您设置复制环境时进行;但是,您也可以在单个表上执行此操作。 Oracle数据库中的一切都是由系统更改编号/更改系统编号(SCN/CSN)驱动的。

通过使用 SCN/CSN,您可以确定表中的起点应该是什么,并从那里启动 CDC。 SCN/CSN 之前的任何数据都不会被捕获,并且需要您以某种方式手动移动该数据。这可以通过使用 Oracle Data Pump(导出/导入)来完成。

Oracle GoldenGate 还提供了一个名为 SQLPredicate 的参数,允许您对表使用“where”子句。这对于初始加载提取非常方便,因为您可以执行类似 TABLE ., SQLPredicate “as of” 的操作。然后,之前的数据将被捕获并移动到目标端,以便副本应用到表中。您可以在这里引用:

https://www.dbasolved.com/2018/05/loading-tables-with-oracle-goldengate-and-rest-apis/

Oracle 官方文档:https://docs.oracle.com/en/middleware/goldengate/core/19.1/admin/loading-data-file-replicat-ma-19.1.html

在复制方面,您可以使用 HANDLECOLLISIONS 来剔除任何重复项。然后加载完成后,将其从参数文件中删除。

很多细节,但我确信这对您来说是一个很好的起点。

关于java - 如何告诉初始数据加载仅插入目标数据库中不存在的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25852705/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com