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

Flink CDC这个报错是什么原因?

Flink CDC采集oracle的时候报ORA-65040:不允许从可插入数据库内部执行该操作,这个报错是什么原因?image.png
Oracle版本是11.2.0.1.0

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

    ORA-65040:不允许从可插入数据库内部执行该操作是一个Oracle数据库的错误,通常发生在用户尝试在可插入数据库内部执行特定操作,而这实际上必须在根容器中执行。
    当你使用Flink CDC来收集Oracle数据库中的数据时,可能会发生这个错误,因为Flink CDC在访问和读取Oracle数据库中的数据时会自动执行一系列的操作,其中一些可能涉及到对数据库内部结构的修改,如添加新表或修改现有表结构等。而这些操作在可插入数据库中通常是被禁止的,所以你需要将其移动到根容器中执行。
    要解决这个问题,你可以尝试以下几种方法:

    1. 将Flink CDC的工作放在根容器中执行,而不是在可插入数据库中执行。
    2. 如果你不能将工作放到根容器中执行,那么你可以尝试修改Flink CDC的配置,使其能够在可插入数据库中执行所必需的操作。
    3. 如果以上方法都不起作用,那么你可以考虑重新考虑你的数据收集策略,看是否可以通过其他方式来实现你的需求。
    2023-11-29 15:43:28
    赞同 1 展开评论 打赏
  • 这个报错ORA-65040: 不允许从可插入数据库内部执行该操作,通常出现在当数据库处于只读模式(read-only mode)时,试图执行写入操作的情况。

    在你的情况下,Flink CDC在进行数据捕获时,可能会涉及到一些数据的写入操作(例如,创建新的日志文件,或者修改表的元数据信息等)。如果此时数据库处于只读模式,就可能会出现这个报错。

    解决这个问题的方法主要是确保在Flink CDC进行数据捕获时,数据库处于正常读写模式,而不是只读模式。你可以检查一下你的数据库配置,看看是否有设置只读模式的地方。如果没有找到相关设置,你可以联系数据库管理员,看看是否有人为设置了只读模式。

    2023-11-22 10:29:06
    赞同 展开评论 打赏

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

相关产品

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

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