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。
什么原因?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
这个错误是由 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 数据库版本兼容,并按照相应的配置要求进行操作。
希望以上信息对你有所帮助!如果还有其他问题,请随时提问。
针对 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 加密连接)。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。