【YashanDB知识库】stmt未close,导致YAS-00103 no free block in sql main pool part 0报错分析

ops/2024/9/24 21:23:03/

问题现象

问题单: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的使用个数


http://www.ppmy.cn/ops/85900.html

相关文章

QT串口和数据库通信

创建串口 串口连接客户端并向服务器发送消息 client.pro #------------------------------------------------- # # Project created by QtCreator 2024-07-02T14:11:20 # #-------------------------------------------------QT core gui network QT core gui…

深入理解深度学习中的“预测”与“计算”

深入理解深度学习中的“预测”与“计算” 在探讨深度学习和人工智能的应用时,**“预测”**这个词经常被提及。很多时候,人们对预测的理解可能会带有一些误区,特别是当涉及到预测未来的事件或结果时。本文将详细探讨在Python深度学习框架中的…

【C#】在一个给定的宽、高范围内,获取到该多边形内部的所有坐标集合?

问题点 使用C#语言在一个给定的宽、高范围内,获取到该多边形内部的所有坐标集合? 这个多边形可能存在交叉及互相重叠部分 图像的宽、高可以定义为:2000*2000 多边形坐标集合:Point[] polygon_points new Point[] { new Point…

FastAPI集成mongodb的增删改查样例

样例如下 import os from typing import Optional, Listfrom fastapi import FastAPI, Body, HTTPException, status from fastapi.responses import Response from pydantic import ConfigDict, BaseModel, Field, EmailStr from pydantic.functional_validators import Befo…

HTML开发小技巧:根据用户浏览器的分辨率调整控件的大小

在Html页面开发中,我们通常会用Style进行控件的宽度高度进行控件的格式设置,如果直接设置像素的话,无法根据用户的浏览器进行宽高的适配,所以我们要做到根据实际使用的浏览器进行控件大小的自动调整,以下是几种控件自动…

100个python的基本语法知识【下】

50. 压缩文件: import zipfilewith zipfile.ZipFile("file.zip", "r") as zip_ref:zip_ref.extractall("extracted")51. 数据库操作: import sqlite3conn sqlite3.connect("my_database.db") cursor conn.c…

网络安全-华为华三交换机防火墙日志解析示例

DEF_SYSLOG_SWITCH_HUAWEI.py 华为交换机日志解析示例 # -*- coding: utf8 -*- import time from DEF_COLOR import * ## 终端显示颜色def 时间戳_2_时间文本(时间戳, 时间文本格式%Y-%m-%d %H:%M:%S):#时间文本格式 %Y-%m-%d %H:%M:%S时间类 time.localtime(时间戳)时间…

快速安装torch-gpu和Tensorflow-gpu(自用,Ubuntu)

要更详细的教程可以参考Tensorflow PyTorch 安装(CPU GPU 版本),这里是有基础之后的快速安装。 一、Pytorch 安装 conda create -n torch_env python3.10.13 conda activate torch_env conda install cudatoolkit11.8 -c nvidia pip ins…