ORA-12516 "TNS监听程序找不到符合协议堆栈要求的可用处理程序" 解决方案
参考地址:https://blog.csdn.net/wlwlwlwl015/article/details/51837669
当oracle数据库连接数超过设置的最大连接数时,会出现以下错误:
当前的session连接数
select count(*) from v$session ;
当前活动的session连接数
select count(*) from v$session where status='ACTIVE';
当前的数据库连接数
select count(*) from v$process ;
数据库允许的最大连接数
select value from v$parameter where name ='processes';
解决方案:
以nolog登录(安全考虑,参考地址:https://blog.csdn.net/u011214505/article/details/50481170)
sqlplus /nolog
这时我们再使用conn system/123456来连接到system用户上:
conn system/123456;
使用sys,以sysdb登录(sys /as sysdba),然后使用以下命令
alter system set processes=1000 scope=spfile;
alter system set sessions=1105 scope=spfile;
注意一下processes的值和sessions的值,Oracle官方文档中要求:
sessions=processes*1.1+5
也就是说sessions的值是根据processes的值计算后得到的,这里需要注意一下,最后重启一下Oracle服务即可。
重启oracle服务(参考地址:https://blog.csdn.net/LJ_0514/article/details/79565197)
shutdown immediate ;
最后执行 startup ;