栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Flink CDC问题

Flink CDC问题

这里会列举出一些关键配置和遇到的问题,一直补充......

Oracle CDC

1. SUPPLEMENTAL LOG在库和表上都需要执行,不是只有表上

ALTER TABLE inventory.customers ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
ALTER DATAbase ADD SUPPLEMENTAL LOG DATA;

2. 报错:Caused by: io.debezium.DebeziumException: Supplemental logging not configured for table xxx. Use command: ALTER TABLE xxx ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS

解答:第一检查oracle表是否已经执行命令 ALTER TABLE xxx ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS,假如已经执行了,但是还是报错,那就不是oracle这边的问题。对于 oracle11 版本,debezium 会默认把 tableIdCaseInsensitive 设置为true, 导致表名被更新为小写,因此在oracle中查询不到 这个表补全日志设置,导致误报这个Supplemental logging not configured for table 错误”。 添加 debezium 的配置项 'database.tablename.case.insensitive' = 'false', 如果使用 SQL 的方式,则在表的 option 中添加配置项 'debezium.database.tablename.case.insensitive' = 'false'

3. OracleCDC的归档日志增长很快,且读取log慢,导致捕捉数据变化延迟较大

解答:可以使用在线挖掘的模式,不写入数据字典到 redo log 中,但是这样无法处理 DDL 语句(但是对于生产环境,一般不会进行 DDL 操作,业务上也仅需要捕捉 DML 操作即可)。生产环境默认策略读取 log 较慢,且默认策略会写入数据字典信息到 redo log 中导致日志量增加较多,可以添加如下 debezium 的配置项。 'log.mining.strategy' = 'online_catalog','log.mining.continuous.mine' = 'true'。如果使用 SQL 的方式,则需要在配置项中加上前缀 'debezium.',即:
'debezium.log.mining.strategy' = 'online_catalog',
'debezium.log.mining.continuous.mine' = 'true'

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/710760.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号