天天看点

Oracle错误码ORA-12516解决方案

Oracle错误码ORA-12516解决方案

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

1.错误原因

由于超过连接最大值导致无法登录,所以用sys as dba也是登录不上的,首先需要先断开占用的procress,即停掉几个tomcat即可释放连接,接下来就可以登录了。

解决方法:

杀掉oracle进程: kill -9 `ps -ef|grep "oracle" |grep "LOCAL=NO"|awk '{print $2}'`      

2.以oracle身份登录数据库

(1) 以oracle身份登录数据库,命令:su -oracle
 
(2) 进入Sqlplus控制台,命令:sqlplus /nolog
 
(3) 以系统管理员登录,命令:connect / as sysdba      

3.查看procress的参数值和占用值

(1)procress参数值:show parameter processes  
 
(2)procress占用值:select count(*) from v$process;      

Oracle错误码ORA-12516解决方案

4.查看session的参数值

(1)session参数值:show parameter sessions      

Oracle错误码ORA-12516解决方案

修改process和session的最大值

1. (1)process最大值:alter system set processes=500 scope=spfile; 
2. 
3. (2)session最大值:alter system set sessions=776 scope=spfile;      

5.重启oracle 使配置生效

1).关闭

shutdown immediate      

Oracle错误码ORA-12516解决方案

关闭成功

2).启动

startup      

Oracle错误码ORA-12516解决方案

启动成功

6.查看procress&session的参数值 查看配置是否生效

1).查看procress参数值

show parameter processes      
Oracle错误码ORA-12516解决方案

2).查看session参数值

show parameter sessions      

Oracle错误码ORA-12516解决方案

修改成功