Flink CDC中报错什么原因?

Flink CDC中我使用flink(1.14.4)cdc(2.2.1)采集oracle (11g的单机的环境,没有配置CDB/PDB ,报错下面的
Caused by: Error : 2248, Position : 18, Sql = alter session set container=NULL, OriginalSql = alter session set container=NULL, Error Msg = ORA-02248: invalid option for ALTER SESSION。
什么原因?

展开
收起
十一0204 2023-07-26 08:07:02 158 分享 版权
2 条回答
写回答
取消 提交回答
  • 这个错误是由 Oracle 数据库版本兼容性引起的。在 Flink CDC 使用 Oracle 11g 数据库时,如果数据库没有配置 CDB/PDB(Container Database / Pluggable Database),会导致执行 alter session set container=NULL 命令报错。

    该命令是用于切换数据库会话到指定的容器。在 Oracle 12c 及之后的版本中,引入了多租户架构,允许创建多个独立的 Pluggable Database,并使用 alter session set container 命令来切换会话。但在 Oracle 11g 中,不支持这个语法,因此会报错。

    解决这个问题的方法是,在 Flink CDC 的配置文件中,将 cdc.connector.database.container 设置为正确的 PDB 名称或者删除该配置项,默认使用系统的默认 PDB。

    cdc:
      connector:
        database:
          container: <PDB名称>
    

    在没有 CDB/PDB 配置的情况下,可以尝试删除 cdc.connector.database.container 这一行,让 Flink CDC 使用默认的设置。

    请确保 Flink 版本和 CDC 插件版本与 Oracle 数据库版本兼容,并按照相应的配置要求进行操作。

    希望以上信息对你有所帮助!如果还有其他问题,请随时提问。

    2023-07-31 23:11:03
    赞同 展开评论
  • 北京阿里云ACE会长

    针对 Oracle 11g 数据库使用 Flink CDC 时可能出现的一些常见问题和解决方法,我可以给您提供一些参考:
    检查 Oracle 数据库版本:Flink CDC 对 Oracle 数据库的支持是有限的,需要使用 Oracle 12c 及以上版本的数据库才能获得最佳的兼容性和性能。如果您在使用 Oracle 11g 数据库时遇到问题,可以考虑升级到 Oracle 12c 及以上版本。
    检查 Oracle 数据库驱动程序:Flink CDC 需要使用正确版本的 Oracle 数据库驱动程序来连接 Oracle 数据库。请确保您使用的 Oracle 数据库驱动程序与 Flink CDC 版本兼容,并正确配置驱动程序的路径和参数。
    检查 Oracle 数据库连接配置:在连接 Oracle 数据库时,需要正确配置连接参数,包括 URL、用户名、密码等。请确保连接参数的正确性,并使用正确的连接方式(例如,使用 SSL 加密连接)。

    2023-07-29 16:36:08
    赞同 展开评论

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

还有其他疑问?
咨询AI助理