Caused by: io.debezium.DebeziumException: Supplemental logging not configured for table ORA10G.EPCA DM.CD_CNTR_OP.
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
问题描述: 用户在使用Debezium进行数据变更捕获时遇到错误,报错信息为io.debezium.DebeziumException: Supplemental logging not configured for table ORA10G.EPCA_DM.CD_CNTR_OP.
。这表明Debezium在处理Oracle数据库的表ORA10G.EPCA_DM.CD_CNTR_OP
时,发现该表没有配置补充日志记录(Supplemental Logging)。
原因分析: - 补充日志未启用:Oracle数据库中的补充日志是用于捕获DDL和DML操作的更改前后的列值,这对于Debezium等CDC工具来说是必要的,以便能够准确地解析和复制数据变更事件。如果该特性未被正确配置,Debezium将无法获取到足够的信息来生成完整的变更数据流。
解决方案: 1. 启用补充日志记录: - 登录到Oracle数据库服务器,以具有足够权限的用户身份执行以下SQL命令,为整个数据库启用补充日志记录(最少级别为primary key
): sql ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;
- 如果只需要为特定表ORA10G.EPCA_DM.CD_CNTR_OP
启用,则执行: sql ALTER TABLE ORA10G.EPCA_DM.CD_CNTR_OP ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
这将为该表的所有列启用补充日志记录。
ORA10G.EPCA_DM.CD_CNTR_OP
表的数据变更事件。注意事项: - 权限验证:确保执行上述SQL命令的用户拥有足够的权限来修改数据库或表的补充日志设置。 - 性能考量:虽然补充日志对于CDC至关重要,但其会增加额外的日志量,可能对数据库的存储和I/O性能产生一定影响。因此,在生产环境中实施时应考虑这些因素。
通过以上步骤,您应该能够解决因补充日志未配置而导致的Debezium异常问题。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。