ORA-12516 TNS: 监听程序找不到符合协议堆栈要求的可用处理程序

Posted godlovelian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ORA-12516 TNS: 监听程序找不到符合协议堆栈要求的可用处理程序相关的知识,希望对你有一定的参考价值。

  出现这个问题是连接数过大导致的,也正是因为这个连接数过大,即使使用 as sysdba也是登录不上。所以要解决这个问题,首先就要先断开当前连着的process,然后使用 sqlplus 用户名/密码@实例 as sysdba 进行登录。

  输入如下语句:

/*查看process的参数值*/
show parameter processes;

/*查看process的占有值*/
select count(*) from v$process;

 会发现processes的参数值不太大,一般默认是150或者300

  我们需要修改process和session的最大值

alter system set processes=2000 scope=spfile;

alter system set sessions=3005 scope=spfile;

/*注意一下processes的值和sessions的值,Oracle官方文档中要求:*/

sessions=processes*1.5+5

  重启服务

/*关闭数据库*/
shutdown
immediate
/*启动数据库使配置生效*/
startup;

  

 




以上是关于ORA-12516 TNS: 监听程序找不到符合协议堆栈要求的可用处理程序的主要内容,如果未能解决你的问题,请参考以下文章

ORA-12516: TNS: 监听程序找不到符合协议堆栈要求的可用处理程”的异常

ORA-12516 TNS: 监听程序找不到符合协议堆栈要求的可用处理程序

ORA-12516 "TNS监听程序找不到符合协议堆栈要求的可用处理程序" 解决方案

ORA-12516 "TNS监听程序找不到符合协议堆栈要求的可用处理程序" 解决方案

ORA-12516, TNS: 侦听器找不到可用的处理程序

ORA-12516: TNS:listener could not find available handler with matching protocol stack