
数据库会话没达到限制,应用报错无法打开连接?本期重点介绍该报错的处理方式。

SQL> select * from v$dm_ini where para_name like 'MAX_SESSIONS'; --结果是1500
SQL> select count(*) from v$sessions; --结果是482
(2)既然数据库连接数没超,那么就需要排查应用设置的连接池多大,是否有超过。询问应用人员,得知连接池里面设置的最大连接数是300。
(3)进一步确认每台应用服务器的连接数在数据库里面是否达到限制。这里通过客户端的主机名或主机ip来分组查询。
SQL> select clnt_host,count(*) from v$sessions group by clnt_name order by 1 desc;
从图上可以看到有个应用已经达到连接池设置的300限制值了。

至此故障原因已经找到,应用不能连接数据库,是因为某个应用的连接数达到连接池限制值导致,需要释放连接后才能获取到连接,才能登录数据库。这里需要交给应用人员进一步分析为何没有释放连接。
以上为本期分享,希望能带给大家帮助。想要了解更多往期干货,可访问页面最下方#达梦技术干货攻略#合集。
点击了解相关分享:
【干货攻略】间隔分区表merge into报错-2903:间隔分区不支持自动扩展
【开班通知】DM8-DCP线上培训班招生中(2023-12月)
关于举办2023年国产数据库师资能力提升专项培训(中级)研修班的通知

文章转载自达梦E学,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




