- 操作系统版本
操作系统为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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




