【问题标题】Flink CDC 增量同步时 DOUBLE/DOUBLE PRECISION 精度丢失,LogMiner SQL_REDO 中已是截断值
【环境信息】
SELECT ***** FROM V$VERSION;
DM Database Server 64 V8
DB Version: 0x7000c
03134284294-20241009-244896-20119
Msg Version: 21
Gsu level(5) cnt: 0
【现象描述】
源表 DOUBLE / DOUBLE PRECISION 列在增量变更(op=c)时精度丢失约 6 位小数;全量 snapshot(op=r)正常。
示例:
同一条数据中 NUMBER/DECIMAL 列(如 col_number_default = 1234567890.123456)增量同步正常。
【排查结论】
已排除下游 Sink 截断。问题出在 LogMiner 生成的 SQL_REDO:
通过 DBMS_LOGMNR 查询 V$LOGMNR_CONTENTS,SCN=XXX 的 INSERT 记录中:
SQL_REDO 里 col_double 已是 3.141593(非 3.141592653589793)
col_number_default 为 1234567890.123456(完整)
Flink CDC 底层即解析 SQL_REDO,
因此 connector 只能得到 redo 里已有的截断值。
【请教】
感谢解答!
