我们正在通过oracle金门将oracle表复制到kafka主题。我们看到在更新操作中,一些列被设置为null,或者负载中缺少一些列。
例如-
{
> "table":"QASOURCE.TCUSTORD",
> "op_type":"U",
> "op_ts":"2015-11-05 18:45:39.000000",
> "current_ts":"2016-10-05T10:15:51.310002",
> "pos":"00000000000000004300",
> "before":{
> "CUST_CODE":"BILL",
> "ORDER_DATE":"1995-12-31:15:00:00",
> "PRODUCT_CODE":"CAR",
> "ORDER_ID":765,
> "PRODUCT_PRICE":15000.00,
> "PRODUCT_AMOUNT":3,
> "TRANSACTION_ID":100
> },
> "after":{
> "CUST_CODE":"BILL",
> "ORDER_DATE":"1995-12-31:15:00:00",
> "PRODUCT_CODE":"CAR",
> "ORDER_ID":765,
> "PRODUCT_PRICE":14000.00
> } }
在上面的例子中,after-image事务id丢失。这是否意味着缺少的列被设置为空。
是否可以在有效负载中包括所有列,而不考虑修改。
1条答案
按热度按时间ylamdve61#
要包含所有列,需要在参数文件中将提取配置为“updaterecordformat full”,以便跟踪文件包含所有更新的列。你可以检查一下。
参考https://docs.oracle.com/en/middleware/goldengate/core/19.1/reference/updaterecordformat.html#guid-9e3e2d2b-2578-4549-8a81-9f0efbd7dd82