【YashanDB知识库】stmt未close,导致YAS-00103 no free block in sql main pool part 0报错分析
创始人
2024-12-08 22:37:10
0

问题现象

问题单:YAS-00103 no free block in sql main pool part 0,YAS-00105 out of memory to allocate hash table of size = 256

现象:业务处理sql时,报错YAS-00103 no free block in sql main pool part 0

问题风险及影响

业务处理报错,影响功能使用

问题影响版本

客户版本:22.2.4.1

问题发生原因

表现原因:sql pool空间不足,申请不到报错。

根原因:stmt使用后,未调用close,session长时间未关闭。open coursor无法循环使用,导致该问题。

解决方式及规避方法

规避方法:增大share_pool_size;alter system set share_pool_size=xxx scope=spfile;

解决方案:stmt调用,不使用后调用close关闭。

问题分析和处理过程

复现方案:

如上报错

分析

查看v$open_cursor视图

每个cursor的状态都是0,0是idle状态,无法循环使用。

代码分析:

typedef enum EnAnlStmtStatus {     STMT_STATUS_IDLE = 0,     STMT_STATUS_PREPARE = 1,     STMT_STATUS_EXECUTE = 2,     STMT_STATUS_FETCH = 3,     STMT_STATUS_FREE = 4, } AnlStmtStatus; 



没有close的stmt,并且执行完毕这条sql语句了,就是idle。

close的stmt,则是free状态。只有free状态的stmt可以复用。

cursor连接不会销毁,只有session断开连接才会销毁,每个session用open_cursors控制最大的cursor数量。

经验总结

v$global_mpool //查看sql pool使用情况

v$open_cursor //查看stmt的cursor使用状况

OPEN_CURSORS //配置session最大cursor的使用个数

相关内容

热门资讯

围绕透视问题!小唐家乐园山西辅... 围绕透视问题!小唐家乐园山西辅助软件!一贯真的有辅助神器(有挂神器)-哔哩哔哩1、打开软件启动之后找...
透视辅助!wepoker脚本,... 透视辅助!wepoker脚本,wepoker透视脚本视频,解密教程(确实有挂)-哔哩哔哩亲,关键说明...
做出回应!浙江游戏大厅游戏辅助... 做出回应!浙江游戏大厅游戏辅助器!总是是有辅助平台(有挂实锤)-哔哩哔哩1、浙江游戏大厅游戏辅助器辅...
目前来看!新九九辅助!其实真的... 目前来看!新九九辅助!其实真的有辅助器(今日头条)-哔哩哔哩1、新九九辅助有没有辅助教程、新九九辅助...
实测揭晓!wepoker怎么挂... 实测揭晓!wepoker怎么挂底牌,wepoker底牌透视,辅助教程(有挂讲解)-哔哩哔哩所有人都在...
网友热议!陕麻圈智能辅助器免费... 网友热议!陕麻圈智能辅助器免费下载!好像是真的辅助器(有挂教学)-哔哩哔哩1、陕麻圈智能辅助器免费下...
一分钟了解!拱趴大菠萝挂怎么安... 您好,拱趴大菠萝挂怎么安装这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很...
目前来看!南通长牌辅助器插件!... 目前来看!南通长牌辅助器插件!真是存在有辅助器(有挂细节)-哔哩哔哩1、每一步都需要思考,不同水平的...
透明辅助!epoker底牌透视... 透明辅助!epoker底牌透视,we poker辅助器下载,详细教程(有人有挂)-哔哩哔哩1、该软件...
现有关情况通报如下!潮汕潮汕娱... 现有关情况通报如下!潮汕潮汕娱脚本!果然是真的辅助app(有挂方式)-哔哩哔哩1)潮汕潮汕娱脚本有没...