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

报错场景:
使用调度的时候出现作业一直显示在运行,数据库日志显示成功,调度数据库显示正在运行,tomcat log日志显示 ORA-125160
登陆pl/sql 发现登录不了,报错
根本原因就是因为oracle的process和session已经达到甚至超过最大值了(不局限于pc机登陆的台数,pl/sql 新增一个运行窗口也会增加),接下来就详细说明一下解决方案。

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

查看process的最大值 a

show parameter processes;

查看Process的占用值 b

select count(*) from from v$process;

当你的b值超过a值的时候就会报 ORA-12516 的问题

所以我们仅需要修改process和session的最大值即可,修改语句如下:

 alter system set processes=1000 scope=spfile;
 alter system set sessions=1105 scope=spfile;

注意一下processes的值和sessions的值,Oracle官方文档中要求:
sessions=processes1.5+5*

最后重启一下服务即可。

at last:
想建一个数据库技术的交流群,用于磨炼提升技术能力.群号: 130730832 ,欢迎大佬前来教学。

你可能感兴趣的:(pl/sql,Oracle,ORA-12516)