数据库学习(七)---ORA-12516 “TNS监听程序找不到符合协议堆栈要求的可用处理程序”

连接数据库时,报ORA-12516 “TNS监听程序找不到符合协议堆栈要求的可用处理程序”

1.打开命令窗口:sqlplus /nolog

2.进入数据库:conn sys/123456 as sysdba;

3.show parameter processes;

查看procress&session的参数值和占用值

上面提到由于超过连接最大值导致无法登录,所以用sys as dba也是登录不上的,首先需要先断开占用的procress,即停掉几个tomcat即可释放连接,接下来就可以登录了。在这里我停掉了所有tomcat,再通过sys用户登录sqlplus看一下procress和session的参数值和占用值:
在这里插入图片描述
4.select count(*) from v$process;

可以看到在没有任何在程序没有连接数据库的时候procress的占用值是65
在这里插入图片描述
解决办法:

1、查看当前的数据库连接数

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服务器才能生效)

shutdown immediate; --关闭数据库

startup; --重启数据库

或者重启Oracle服务或重启Oracle服务器。


ORA-12519:连接数据库客户端连接间歇性失败,也可以通过修改processes来解决。

参考博客:
https://blog.csdn.net/qiu_spring/article/details/89227569

猜你喜欢

转载自blog.csdn.net/qq_36800800/article/details/108240529