有用Flink CDC 3.0.1读取Oracle 19C PDB成功的吗?遇到和这个人一样的错误
https://issues.apache.org/jira/browse/FLINK-34819?jql=project%20%3D%20FLINK%20AND%20resolution%20%3D%20Unresolved%20AND%20text%20~%20%22oracle%22%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
根据您提供的问题和知识库中的参考资料,以下是关于使用Flink CDC 3.0.1读取Oracle 19C PDB时可能遇到的问题及解决方案的详细解答:
您提到在使用Flink CDC 3.0.1读取Oracle 19C PDB时遇到了错误,并引用了Apache Flink JIRA中的问题(FLINK-34819)。该问题可能与Oracle LogMiner在PDB(Pluggable Database)环境下的兼容性有关。
根据知识库中的资料,以下是一些可能导致问题的原因: 1. Oracle LogMiner不支持直接在PDB上执行: - Oracle LogMiner在CDB(Container Database)模式下需要额外配置才能正确读取PDB的补偿日志。 - 如果未正确配置debezium.database.pdb.name
参数,可能会导致任务运行失败。
表或视图不存在错误(ORA-00942):
LOG_MINING_FLUSH
表。权限不足:
Flink CDC 3.0.1的兼容性问题:
针对上述问题,您可以按照以下步骤进行排查和解决:
debezium.database.pdb.name
参数debezium.database.pdb.name=<your_pdb_name>
ORA-00942: table or view does not exist
错误,可能是由于LOG_MINING_FLUSH
表缺失或损坏。请尝试在CDB实例中手动重建该表:
CREATE TABLE LOG_MINING_FLUSH (
ID NUMBER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
FLUSH_TIME TIMESTAMP DEFAULT SYSTIMESTAMP
);
GRANT SELECT ANY TRANSACTION TO <your_user>;
GRANT LOGMINING TO <your_user>;
GRANT EXECUTE ON DBMS_LOGMNR TO <your_user>;
GRANT SELECT ON V$LOGMNR_CONTENTS TO <your_user>;
scan.startup.mode=initial
debezium.log.mining.strategy=online_catalog
debezium.database.history=io.debezium.relational.history.MemoryDatabaseHistory
实时集成Oracle CDC相关问题
阿里云CDC常见问题解答
如果您仍有疑问或需要进一步的帮助,请提供更多具体的错误日志或配置信息,我们将为您深入分析并提供针对性的解决方案。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。
你好,我是AI助理
可以解答问题、推荐解决方案等