当前位置:蜗牛素材网>综合资讯>科技>正文

数据库连接失败请重新设置:记一次应用程序过多无效连接达上限导致数据库无法连接处理方案

人气:347 ℃/2023-12-08 11:21:31

概述

简单记录一下最近处理的一个小问题,主要是应用程序过多无效连接导致,看下思路就行。。


1、问题现象

报错日志提示:

ORA-12520: TNS:监听程序无法为请求的服务器类型找到可用的处理程序,测试应用端telnet数据库服务器端口也无法连通,远程oracle服务器端,sqlplus登陆oracle,也报错:ORA-00020:maximum number of processes (800) exceeded


2、问题分析

根据提示得知,是processes过多,超出最大值,正常解决办法是需要将oracle的最大process调大,但我之前已调整为800,不可能又去加这个值的,下面记录下问题排查过程


3、查看当前进程连接情况

可以看出当前进程数799,最大值是800,外面的连接就进不来了。

--查看当前进程数select count(*) from v$process;--查看进程,会话的历史最大数和最大数select resource_name,max_utilization,limit_value from v$resource_limit where resource_name in('processes','sessions');


4、查看oracle总的连接数以及活跃连接数

活跃的连接只有22,看来是过期失效的连接很多

select t.INST_ID,count(*) count_all,sum(case when t.STATUS = 'ACTIVE' then 1 else 0 end) count_activefrom gv$session t group by t.INST_ID order by t.inst_id;


5、查看连接oracle每台机器的连接数和状态

为了判断究竟是哪台主机产生的问题就需要用以下sql查了

select machine,status,count(*) from gv$session group by machine,status order by status;

好吧,问题在ZL-FSL-XXX主机上,应该是上面跑的应用事务处理后没有及时关闭数据库连接导致,后面开发排查应用程序解决..


后面会分享更多devops和DBA方面内容,感兴趣的朋友可以关注下~

搜索更多有关“数据库连接失败请重新设置:记一次应用程序过多无效连接达上限导致数据库无法连接处理方案”的信息 [百度搜索] [SoGou搜索] [头条搜索] [360搜索]
本网站部分内容、图文来自于网络,如有侵犯您的合法权益,请及时与我们联系,我们将第一时间安排核实及删除!
CopyRight © 2008-2024 蜗牛素材网 All Rights Reserved. 手机版