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

SUNDB ERR-HY000(11019)报错处理

原创 科蓝SUNDB编辑部 2023-11-09
222
  • 操作系统版本
    操作系统为CentOS 7.6
  • 数据库版本及架构
    数据库架构:2x2 数据库版本为Sundb 3.1
  • 问题描述
    应用程序执行sql报错
  • 错误代码
    ERR-HY000(11019): Insufficient resource: exceeded maximum number of s ession environments
  • 原因
    CLIENT_MAX_COUNT参数设置不合理,无可用连接。
  • 解决方案
    连接数在短时间内无法释放情况下,需考虑强制关闭实例(生产环境慎用)后对参数进行调整,再启动实例。
    –使用kill_gs.sh脚本强制停止实例
[sunje@gs01 ~]$ pwd
/home/sunje
[sunje@gs01 ~]$ cat kill_gs.sh 
#!/bin/sh

namelist="gmaster gserver gdispatcher gbalancer glsnr gsql cserver cdispatcher"
for pname in $namelist ; do
    	pinfo=`ps -f -U $LOGNAME | grep $pname | grep -v grep`
    	if [ -n "$pinfo" ]; then
    	    printf "$pinfo" | kill -9 `awk '{print $2}'`
    	fi
done

shminfo=`ipcs -m | tail -n +4 | grep $LOGNAME`
if [ -n "$shminfo" ]; then
 	 printf "$shminfo" | awk '{print "ipcrm -m " $2}' | sh
fi

seminfo=`ipcs -s | tail -n +4 | grep $LOGNAME`
if [ -n "$seminfo" ]; then
  printf "$seminfo" | awk '{print "ipcrm -s " $2}' | sh
fi
[sunje@gs01 ~]$

–执行脚本
[sunje@gs01 ~]$ sh kill_gs.sh
执行脚本后修改数据库配置文件的参数,然后启动实例和监听即可。
–修改后确认参数

[sunje@gs01 ~]$ grep  PROCESS_MAX_COUNT $SUNDB_DATA/conf/Sundb.properties.conf
PROCESS_MAX_COUNT = 2000
[sunje@gs01 ~]$ grep  CLIENT_MAX_COUNT $SUNDB_DATA/conf/Sundb.properties.conf
CLIENT_MAX_COUNT = 2000

–启动监听
[sunje@gs01 ~]$ glsnr --start
实例启动后,确认参数。

select PROPERTY_NAME,MIN_VALUE,MAX_VALUE,INIT_VALUE,PROPERTY_VALUE from v$property where PROPERTY_NAME in ('CLIENT_MAX_COUNT','PROCESS_MAX_COUNT');

PROPERTY_NAME     MIN_VALUE MAX_VALUE INIT_VALUE PROPERTY_VALUE
----------------- --------- --------- ---------- --------------
PROCESS_MAX_COUNT        12     65535 2000        2000           
CLIENT_MAX_COUNT         12     65535 2000        2000          

2 rows selected.
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论