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

Flink CDC有没有什么方案解决啊?

Flink CDC中ORA-44609: CONTINOUS_MINE 已经不支持用于 DBMS_LOGMNR.START_LOGMNR。 有没有什么方案解决啊?

展开
收起
真的很搞笑 2023-11-07 08:05:06 163 0
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在 Flink CDC 中,ORA-44609 错误提示是因为 CONTINOUS_MINE 不再支持 DBMS_LOGMNR.START_LOGMNR 函数而导致的。
    为了避免这种情况,请遵循以下解决方案:

    1. DBMS_LOGMNR.START_LOGMNR 函数更改为其他函数,如 LOGMINING_CONTEXT_START_MINER_LOGMNR_BATCH_SIZELOGMINING_CONTEXT_START_SCN, LOGMINING_CONTEXT_START_TIME 等函数。这些函数提供了更加丰富的选项来控制 Oracle 日志监听器的行为。
    2. 使用 start SCN 或者 start time 方式来开始 LogMiner 过滤器。这两个选项可以帮助您更好地控制日志监听器的行为,并且可以指定要监听的时间范围。
    3. 如果无法更改函数,则可以选择降级为较低版本的 Oracle 数据库,并更新 Flink CDC 的版本至最新版,因为最新的版本已经开始使用新的日志监听器来取代旧的函数。
    2023-11-07 14:32:40
    赞同 1 展开评论 打赏
  • ORA-44609错误表明你正在尝试使用不再支持的CONTINOUS_MINE选项来启动DBMS_LOGMNR。从Oracle 12.2版本开始,CONTINOUS_MINE选项已被弃用,并在Oracle 18c中完全被移除。

    你可以通过以下步骤来解决这个问题:

    1. 移除CONTINOUS_MINE选项:首先,你需要从你的DBMS_LOGMNR调用中移除CONTINOUS_MINE选项。
    2. 使用新的连续查询功能:从Oracle 12c R2开始,你可以使用Continuous Query Facility(CQF)来替代CONTINOUS_MINE。这允许你注册一个或多个表,并且当这些表发生变化时,会自动将变化的数据推送到另一个数据库或应用程序。

    以下是使用CQF的一个简单示例:

    BEGIN
      DBMS_CQF.CREATE_CONTINUOUS_QUERY(
        queue_name        => 'my_queue',
        view_name         => 'my_view',
        source_db         => 'source_db',
        target_db         => 'target_db',
        source_table      => 'source_table',
        target_table      => 'target_table',
        refresh_method    => 'tpt',
        queue_mode        => 'push');
    END;
    /
    
    1. 监控和调整:使用CQF后,你需要监控和调整连续查询的性能。你可以使用DBMS_CQF.GET_QUEUE_STATUS和DBMS_CQF.REFRESH_QUEUE等存储过程来获取状态信息和调整刷新频率等参数。
    2. 考虑使用第三方工具:如果你对Oracle的日志读取和解析不熟悉,也可以考虑使用第三方工具,如Talend、Debezium等,它们提供了更高级别的抽象和易用性。
    2023-11-07 10:07:49
    赞同 展开评论 打赏

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

相关产品

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

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    Flink CDC Meetup PPT - 覃立辉 立即下载