首批通过分布式安全可靠测评,为关键业务系统打造
匿名块执行过多 SQL 语句导致爆栈引发的 OBServer core
更新时间:2024-01-16 11:56
问题描述
匿名块过大,执行过多 SQL 语句导致爆栈 core 掉。
适用版本
OceanBase 数据库 V2.2.76 (oceanbase-2.2.76-20211020141746) 版本。
问题原因
匿名块里面有太多 SQL 语句,PL 内部不停分配栈空间执行导致栈爆了。
解决方法
解决方法: 升级至问题已修复版本。目前已修复的版本为 OceanBase 数据库企业版 V2.2.77 BP17 Hotfix2 (oceanbase-2.2.77-117020032023072119) 版本。
临时解决方法:将含有多条 SQL 语句的匿名块进行拆分,每个匿名块中的 SQL 数量控制在 100 个左右。