当前位置: 代码迷 >> 综合 >> Oracle数据库ORA-12516:“listener could not find available handler with matching protocol stack!“问题解决方法
  详细解决方案

Oracle数据库ORA-12516:“listener could not find available handler with matching protocol stack!“问题解决方法

热度:73   发布时间:2023-12-12 05:34:17.0

Oracle 数据库 sql 连接报错:
java.sql.SQLException: Listener refused the connection with the following error: ORA-12516, TNS:listener could not find available handler with matching protocol stack!

问题原因:
该问题是数据库负载压力较大,数据库已经启用的进程数达到了参数限制的最大进程数,无法再创建新的进程了,这个时间再连接数据库就会报错了。(连接数据库会创建新的进程,占用新的 session 会话)

解决方法:
我们把数据库参数的进程和 session 的最大限制数调高,再重启数据库就能解决问题了。
在这里插入图片描述
首先先查询当前已启用进程数。

--- 当前已启用进程数
select count(*) from v$process;

然后查询参数里限制的最大进程数

--- 查询参数里限制的最大进程数
select value from v$parameter where name = 'processes';

然后设置参数里的最大值,我这两个由原来的 500,调到现在的 2000 了。

alter system set processes = 2000 scope = spfile;
alter system set sessions = 2000 scope = spfile;

重启后看下效果:
在这里插入图片描述
问题到此解决。

接下来给大家提供一种无需数据库管理员密码登录、输入重启口令重启数据库的方法。(oracle 11g 管理员密码忘记无法用口令重启数据库)
直接在服务里把 oracle 的服务重启下即可。(简单直接)
在这里插入图片描述
喜欢的点个赞?吧!

  相关解决方案