2

我设置了 GoldenGate for Oracle(123015) 的 Replicat 进程以从 Oracle 12c 数据库中获取更改。

我能够获得对跟踪文件的所有 INSERT/UPDATE/DELETE 更改。但是,在 UPDATE 操作期间,跟踪文件中记录的 After 部分仅包含已修改的列。

根据文档,如果

  1. FORCE LOGGING 和 SUPPLEMENTAL LOG DATA ALL COLUMNS 在数据库上启用,
  2. GoldenGate 中的 EXTRACT 参数文件包括参数 LOGALLSUPCOLS 和 UPDATERECORDFORMAT FULL,

记录的 AFTER 部分应包含所有列,但它不包含 :(

4

2 回答 2

0

不要依赖文档。做一些你自己的测试。请查看完整说明GoldenGate 12.3 Extract 进程向跟踪写入的内容。

于 2019-03-14T11:42:53.207 回答
0

您需要使用 GETUPDATEBEFORES 来获取更新记录的前映像:

https://docs.oracle.com/en/middleware/goldengate/core/19.1/reference/getupdatebefores-ignoreupdatebefores.html#GUID-3CA51C08-8D8C-4CD5-AEB2-E0DFEF1B6BF7

于 2019-12-17T02:12:47.350 回答