Flink CDC里读Oracle,这个bug怎么解决?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在使用Flink CDC读取Oracle数据时,可能会遇到一些已知问题或Bug。以下是针对常见问题的解决方案,结合知识库中的信息进行详细说明:
ORA-00942: table or view does not exist
错误。LOG_MINING_FLUSH
表缺失。LOG_MINING_FLUSH
表。CREATE TABLE LOG_MINING_FLUSH (
ID NUMBER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
FLUSH_TIME TIMESTAMP DEFAULT SYSTIMESTAMP
);
DataException: file is not a valid field name
。SELECT "FieldName" FROM your_table;
debezium.database.pdb.name
参数正确配置(适用于PDB模式)。max_wal_senders
和max_replication_slots
参数值是否足够大。SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE = 'C##DBZUSER';
SELECT TABLE_NAME FROM DBA_TAB_PRIVS WHERE GRANTEE = 'C##DBZUSER';
SELECT
权限:用于读取目标表数据。LOGMINING
权限:用于启用LogMiner功能。EXECUTE
权限:用于执行相关存储过程。ALTER SESSION SET CONTAINER = CDB$ROOT;
如果上述解决方案仍无法解决问题,可以尝试以下排查方法: - 检查补偿日志是否开启:
SELECT * FROM dba_log_groups WHERE table_name = 'PF_ID_NAME_PK';
SELECT CURRENT_SCN FROM V$DATABASE;
maven-shade-plugin
对冲突类进行重定位。通过以上步骤,您可以有效解决Flink CDC读取Oracle时的常见问题。如果问题仍未解决,请提供更多上下文信息以便进一步分析。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。