"2023-07-14 10:57:20,958 INFO io.debezium.connector.oracle.OracleConnection [] - Database Version: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.10.0.0.0
2023-07-14 10:57:20,960 INFO io.debezium.jdbc.JdbcConnection [] - Connection gracefully closed
2023-07-14 10:57:20,961 INFO com.ververica.cdc.connectors.base.source.reader.IncrementalSourceReader [] - The table schema discovery for stream split stream-split success
2023-07-14 10:57:20,961 INFO org.apache.flink.connector.base.source.reader.SourceReaderBase [] - Adding split(s) to reader: [StreamSplit{splitId='stream-split', offset={commit_scn=0, lcr_position=null, scn=11595492783991}, endOffset={commit_scn=0, lcr_position=null, scn=-9223372036854775808}}]
2023-07-14 10:57:20,970 INFO org.apache.flink.connector.base.source.reader.fetcher.SplitFetcher [] - Starting split fetcher 0
2023-07-14 10:57:21,052 INFO io.debezium.connector.oracle.OracleConnection [] - Database Version: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.10.0.0.0
2023-07-14 10:57:21,059 INFO com.ververica.cdc.connectors.base.source.reader.IncrementalSourceSplitReader [] - Stream fetcher is created.
2023-07-14 10:57:21,136 INFO io.debezium.connector.oracle.OracleConnection [] - Database Version: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.10.0.0.0
2023-07-14 10:57:21,208 ERROR org.apache.flink.connector.base.source.reader.fetcher.SplitFetcherManager [] - Received uncaught exception.
java.lang.RuntimeException: SplitFetcher thread 0 received unexpected exception while polling the records
at org.apache.flink.connector.base.source.reader.fetcher.SplitFetcher.runOnce(SplitFetcher.java:165) ~[flink-connector-files-1.17.1.jar:1.17.1]
at org.apache.flink.connector.base.source.reader.fetcher.SplitFetcher.run(SplitFetcher.java:114) [flink-connector-files-1.17.1.jar:1.17.1]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_271]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_271]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_271]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_271]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_271]
Caused by: io.debezium.DebeziumException: The db history topic or its content is fully or partially missing. Please check database history topic configuration and re-execute the snapshot.
at io.debezium.relational.HistorizedRelationalDatabaseSchema.recover(HistorizedRelationalDatabaseSchema.java:59) ~[flink-sql-connector-oracle-cdc-2.4.0.jar:2.4.0]
at com.ververica.cdc.connectors.oracle.source.reader.fetch.OracleSourceFetchTaskContext.validateAndLoadDatabaseHistory(OracleSourceFetchTaskContext.java:283) ~[flink-sql-connector-oracle-cdc-2.4.0.jar:2.4.0]
at com.ververica.cdc.connectors.oracle.source.reader.fetch.OracleSourceFetchTaskContext.configure(OracleSourceFetchTaskContext.java:117) ~[flink-sql-connector-oracle-cdc-2.4.0.jar:2.4.0]
at com.ververica.cdc.connectors.base.source.reader.external.IncrementalSourceStreamFetcher.submitTask(IncrementalSourceStreamFetcher.java:84) ~[flink-sql-connector-oracle-cdc-2.4.0.jar:2.4.0]
at com.ververica.cdc.connectors.base.source.reader.IncrementalSourceSplitReader.checkSplitOrStartNext(IncrementalSourceSplitReader.java:138) ~[flink-sql-connector-oracle-cdc-2.4.0.jar:2.4.0]
at com.ververica.cdc.connectors.base.source.reader.IncrementalSourceSplitReader.fetch(IncrementalSourceSplitReader.java:70) ~[flink-sql-connector-oracle-cdc-2.4.0.jar:2.4.0]
at org.apache.flink.connector.base.source.reader.fetcher.FetchTask.run(FetchTask.java:58) ~[flink-connector-files-1.17.1.jar:1.17.1]
at org.apache.flink.connector.base.source.reader.fetcher.SplitFetcher.runOnce(SplitFetcher.java:162) ~[flink-connector-files-1.17.1.jar:1.17.1]
... 6 more
2023-07-14 10:57:21,214 INFO com.ververica.cdc.connectors.base.source.reader.IncrementalSourceSplitReader [] - Close current fetcher com.ververica.cdc.connectors.base.source.reader.external.IncrementalSourceStreamFetcher
2023-07-14 10:57:21,216 INFO com.starrocks.connector.flink.manager.StarRocksSinkManagerV2 [] - Stream load manager flush
2023-07-14 10:57:21,216 INFO com.starrocks.connector.flink.manager.StarRocksSinkManagerV2 [] - All regions committed for savepoint, number of regions: 0
2023-07-14 10:57:21,217 INFO io.debezium.jdbc.JdbcConnection [] - Connection gracefully closed
请问使用flink cdc抽取oracle 19c的数据,报如下错误是什么原因呢 ?io.debezium.DebeziumException: The db history topic or its content is fully or partially missing. Please check database history topic configuration and re-execute the snapshot.
flink版本:flink-1.17.1-bin-scala_2.12
cdc版本: flink-sql-connector-oracle-cdc-2.4.0"
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在使用 Flink CDC 抽取 Oracle 19c 数据库的数据时,如果出现如下错误:
Copy
java.lang.NoSuchMethodError: oracle.jdbc.driver.PhysicalConnection.getLogicalConnection()Ljava/sql/Connection;
这通常是由于 Oracle JDBC 驱动包的版本与 Oracle 数据库的版本不兼容导致的。
要解决这个问题,可以按照以下步骤进行操作:
确认使用的 Oracle JDBC 驱动包的版本与 Oracle 数据库的版本兼容。可以在 Oracle JDBC 驱动包的官方文档中查看驱动包版本与数据库版本的兼容性。确保使用的 Oracle JDBC 驱动包的版本与 Oracle 数据库的版本兼容。
确认 Oracle JDBC 驱动包已经被正确地安装到了 Flink CDC 的 CLASSPATH 中。可以在 Flink CDC 的启动脚本(例如 flink run 或者 flink-sql-client.sh)中查看 CLASSPATH 的设置,确保 Oracle JDBC 驱动包所在的路径被包含在 CLASSPATH 中。如果没有,可以手动添加。
确认 Oracle 数据库的连接信息是否正确。如果 Oracle 数据库的连接信息(例如 URL、用户名和密码等)不正确,可能会导致连接失败或者报错。因此,需要确认 Oracle 数据库的连接信息是否正确,并根据需要修改连接信息。
如果以上步骤都无法解决问题,可以尝试重新安装 Oracle JDBC 驱动包,并确保驱动包的版本与数据库版本兼容。同时,还可以查看具体的错误信息,以确定问题的具体原因。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。