请教个问题?flinkcdc怎么支持Oracle19c数据采集? Caused by: java.sql.SQLException: ORA-44609: CONTINOUS_MINE is desupported for use with DBMS_LOGMNR.START_LOGMNR. ORA-06512: at "SYS.DBMS_LOGMNR", line 72 ORA-06512: at line 1 12c以后不支持这种方式了,请问还有其它实现方式吗?
您好,针对您提到的问题,我了解到 Oracle 19c 开始不再支持 CONTINUOUS_MINE 方式进行数据采集,需要使用新的方式进行采集。
一种可行的替代方式是使用基于 Oracle GoldenGate 的数据采集。Oracle GoldenGate 支持 Oracle 19c,可以实现实时数据复制和数据同步。您可以将 Flink CDC 与 Oracle GoldenGate 集成,来实现对 Oracle 19c 数据库的数据采集。
具体步骤可以参考以下链接:
https://ci.apache.org/projects/flink/flink-docs-release-1.13/docs/connectors/datastream/goldengate/ https://docs.oracle.com/en/middleware/goldengate/core/19.1/administration/index.html 希望对您有所帮助。
Oracle 19c不再支持使用DBMS_LOGMNR.START_LOGMNR函数来启用日志挖掘。此函数已被DBMS_LOGMNR_D.SET_LOGMNR_PROPERTY替换,该函数可以在19c及更高版本中使用。
TableSource<?> cdcSource = new MySqlBinlogSource(...)
.setDatabaseHostname("localhost")
.setDatabasePort(3306)
.setDatabaseUsername("flinkuser")
.setDatabasePassword("flinkpw")
.setDatabaseName("inventory")
.setTableList("inventory.products");
DataStreamSource<?> stream = env.addSource(cdcSource);
在这里,以MySQL二进制日志作为示例,你可以使用MySqlBinlogSource来替换成对应的Oracle CDC的数据源。如果你使用的是Flink 1.13或更早版本,则需要使用不同的实现方式来连接Oracle 19c数据库进行CDC数据采集。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。