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 ;

 

posted @ 2018-12-11 11:22  炫舞风中  阅读(5014)  评论(0编辑  收藏  举报