暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

OceanBase数据库查询内部错误

IT那活儿 2025-06-03
114

点击上方“IT那活儿”公众号--专注于企业全栈运维技术分享,不管IT什么活儿,干就完了!!!


问题说明

接到业务程序报错4016内部报错,select语句执行异常,进行重试后恢复正常。

具体报错信息如下 :

环境信息:

  • 数据库版本:3.2.3.2   

  • 架构:X86  

  • 租户类型:Oracle


问题分析

2.1 手动ODC执行select同样报错

2.2 查询数据库日志

日志中有“invalid sys connect by path id(ret=-4016, sys_connect_by_path_id=0)”关键字。

2.3 查看各个表结构和视图信息

发现视图中有引用了函数concat(sys_connect_by_path ())

2.4 查询此语句执行计划

计划中并未包括concat此函数的信息,正常执行计划如下:


问题处理

3.1 问题结论

OceanBase数据库3.2.3.2版本bug,视图中包含 concat(sys_connect_by_path ()),但是计划里面只是计算了sys_connect_by_path,没有带上concat

3.2 问题解决

  • 建议升级3.2.3最新版本。

  • 暂时规避视图里面不用这个concat。

  • 使用开发正常执行的执行计划进行绑定。


END


本文作者:刘一刀(上海新炬中北团队)

本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论