开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

请问使用flink cdc抽取oracle 19c的数据,报如下错误是什么原因呢 ?

"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"

展开
收起
十一0204 2023-07-19 18:38:19 512 0
2 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    在使用 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 驱动包,并确保驱动包的版本与数据库版本兼容。同时,还可以查看具体的错误信息,以确定问题的具体原因。

    2023-07-29 19:28:18
    赞同 展开评论 打赏
  • 意中人就是我呀!

    对应的是cdc,2.4.0对应是 flink1.7.0。此回答整理至钉群“Flink CDC 社区”。

    2023-07-19 19:10:11
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    PostgresChina2018_樊文凯_ORACLE数据库和应用异构迁移最佳实践 立即下载
    PostgresChina2018_王帅_从Oracle到PostgreSQL的数据迁移 立即下载
    Oracle云上最佳实践 立即下载

    相关镜像