【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的使用个数

相关内容

热门资讯

第四了解!xpoker外挂透明... 第四了解!xpoker外挂透明挂辅助透视挂,微扑克为有挂一直输(有挂功能)-哔哩哔哩是一款可以让一直...
9分钟秒懂!小程序多乐跑得快辅... 9分钟秒懂!小程序多乐跑得快辅助器!(透视)外挂透视辅助神器(2021已更新)-哔哩哔哩是一款可以让...
第3实锤!wepoke德州扑克... 第3实锤!wepoke德州扑克外挂透明挂辅助脚本,wepoke透明挂(有挂秘诀)-哔哩哔哩;wepo...
5分钟了解!丰城双剑摸奖秘籍!... 自定义新版丰城双剑摸奖秘籍系统规律,只需要输入自己想要的开挂功能,一键便可以生成出丰城双剑摸奖秘籍专...
第五个了解!德州扑克外挂辅助器... 第五个了解!德州扑克外挂辅助器开挂,wpk辅助透视(有挂功能)-哔哩哔哩;AI智能教程细节普及wpk...
四分钟秒懂!牌乐门有外挂的!(... 四分钟秒懂!牌乐门有外挂的!(透视)外挂辅助器软件(2021已更新)-哔哩哔哩;亲,有的,ai轻松简...
3分钟了解!aapoker a... 3分钟了解!aapoker ai外挂辅助神器,wepoke有规律的(有挂方法)-哔哩哔哩是一款可以让...
第四个了解!xpoker外挂透... 自定义新版aapoker外挂系统规律,只需要输入自己想要的开挂功能,一键便可以生成出aapoker外...
六分钟掌握!熊猫辅助器!(透视... 六分钟掌握!熊猫辅助器!(透视)外挂开挂辅助器脚本(2021已更新)-哔哩哔哩是一款可以让一直输的玩...
第7实锤!wepoke app... 自定义新版wepoke软件系统规律,只需要输入自己想要的开挂功能,一键便可以生成出wepoke软件专...