如何使用 Oracle Goldengate 从多个数据库中提取数据并复制到一个具有不同 table 结构的数据库?

How to extract data from multiple databases and replicate to one database having different table structure using Oracle Goldengate?

我有 6 个 table 可以从 4 个数据库中的每一个中提取数据。我必须在单个数据库的 6 table 秒中复制所有数据。目标 tables 只有一个额外的列 'instance_id',这表明我们正在从哪个数据库获取数据。现在我对每个数据库有一个提取过程,在目标数据库中有 4 个复制过程。我想使用 OGG 复制在目标 table 中输入行后立即自动更新 'instance_id' 列。我知道在 OGG 中有 SQLEXEC 语句可以 运行 SQL 查询。我不知道在哪里以及如何使用它来解决我这里的问题。

如果您有 4 个源,则您有 4 组跟踪文件和 4 个复制品。在副本中,将您的 instance_id 包含在 MAP 列中。此外 - 如果从 4 个来源获取数据会导致主键冲突,则必须在 PK 定义中包含 instance_id。看起来像:
地图 schema.table、目标 schema.table、
COLMAP(使用默认值,instance_id = 1),
KEYCOLS(pkcol, instance_id);