转载:https://blog.csdn.net/qiu_spring/article/details/89227569
用plsql登录oracle数据库,会提示ORA-12516 "TNS监听程序找不到符合协议堆栈要求的可用处理程序,
误原因 由于超过连接最大值导致无法登录
网上查询到的解决办法用sysdba用户登录,其实不用
解决办法:
1、无法通过plslq链接数据库,可以把电脑关机重启,这样会释放连接数
2、查看当前的数据库连接数。在plsql上通过目前使用的用户名和密码登录oracle进行修改就可以(我没用管理员用户,管理员用户也可以)。
select count(*) from v$process ; --当前的数据库连接数
select count(*) from v$session; --当前的session连接数
2、数据库允许的最大连接数
select value from v$parameter where name ='processes'; --数据库允许的最大连接数
3、修改数据库最大连接数 修改processes和sessions值
alter system set processes = 300 scope = spfile; --修改最大连接数:
alter system set sessions=335 scope=spfile; --修改session最大连接数:
(ORACLE的连接数(sessions)与其参数文件中的进程数(process)关系:sessions=(1.1*process+5))
4、关闭/重启数据库(修改processes和sessions值必须重启oracle服务器才能生效)
Ctrl+r 选择“任务管理器”中的“服务”选项卡,打开“服务”选项 (找到oracleoradb11g_home1TNSListener,OracleServiceORCL 鼠标右键“选择重新启动”按钮)