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

Flink CDC中oracle的cdc遇到这个错误,有没有哪位朋友碰到过?

Flink CDC中oracle的cdc遇到这个错误,有没有哪位朋友碰到过,Caused by: io.debezium.connector.oracle.logminer.parser.DmlParserException: Unknown supported SQL '/ No SQL_REDO for temporary tables /'
at io.debezium.connector.oracle.logminer.parser.LogMinerDmlParser.parse(LogMinerDmlParser.java:80)
at io.debezium.connector.oracle.logminer.processor.AbstractLogMinerEventProcessor.parseDmlStatement(AbstractLogMinerEventProcessor.java:1078)
... 16 more?

展开
收起
真的很搞笑 2023-12-01 10:43:54 100 0
2 条回答
写回答
取消 提交回答
  • 这个错误看起来是由于在Flink CDC中使用Oracle CDC时,遇到了不支持的SQL语句导致的。具体来说,错误信息中的"No SQL_REDO for temporary tables"表示Oracle LogMiner无法处理临时表的SQL_REDO记录。

    为了解决这个问题,您可以尝试以下几种方法:

    1. 检查您的SQL语句,确保不要涉及到临时表。如果需要使用临时表,可以考虑在其他地方进行处理,或者使用其他方式来实现所需的功能。

    2. 检查您的Oracle配置,确保已经开启了归档日志和补充日志。这是因为Flink CDC基于Debezium的LogMiner实现,LogMiner需要使用Oracle的归档日志和补充日志来获取变更数据。

    3. 检查您的Flink程序,确保正确创建了Oracle CDC连接。

    4. 如果可能,尝试升级您的Oracle版本,因为某些不兼容的问题可能在较新的版本中得到解决。

    2023-12-02 16:16:05
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    这个错误是由于 Flink CDC 使用的 Oracle CDC 连接器中的 LogMinerDmlParser 遇到了未知的 SQL 语句导致的。具体错误信息为 Unknown supported SQL '/ No SQL_REDO for temporary tables /'

    根据错误信息,看起来是 LogMinerDmlParser 在解析 SQL 语句时遇到了不支持的语句,即 / No SQL_REDO for temporary tables /。这可能是由于 Oracle CDC 不支持对临时表进行 SQL_REDO 操作。

    要解决这个问题,有几个可能的方法:

    1. 排除临时表:在 Flink CDC 的配置中,过滤掉临时表,只选择需要同步的正式表进行变更捕获和同步。

    2. 处理临时表数据:如果临时表中的数据对您的业务逻辑很重要,您可以考虑将临时表中的数据迁移到正式表中,并确保正式表能够被 CDC 监听和同步。

    3. 自定义解决方案:根据您的具体需求,可以考虑编写自定义逻辑来处理临时表的变更。例如,您可以通过监听相关事件或轮询查询来捕获临时表的变更,并采取相应的处理措施。

    2023-12-01 21:14:26
    赞同 展开评论 打赏

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

相关产品

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

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

    相关镜像