ORA-12516 "TNS监听程序找不到符合协议堆栈要求的可用处理程序" 解决方案
来源:互联网 发布:iphone清理内存软件 编辑:程序博客网 时间:2024/05/16 23:34
前言
简单描述一下场景,总共两台应用服务器,每台安装3个tomcat进行集群,并通过nginx做了负载均衡,今天在生产环境中部署项目后进行测试,发现在一台应用服务器中同样的代码,tomcat1和tomcat2正常,而访问tomcat3时报404错误,去看了下log发现是数据库服务器出了问题:
然后登录到DB服务器去看看什么情况,结果登录时发现报以下错误:
居然已经登录不上了,根本原因就是因为oracle的process和session已经达到甚至超过最大值了,接下来就详细说明一下解决方案。
查看procress&session的参数值和占用值
上面提到由于超过连接最大值导致无法登录,所以用sys as dba也是登录不上的,首先需要先断开占用的procress,即停掉几个tomcat即可释放连接,接下来就可以登录了。在这里我停掉了所有tomcat,再通过sys用户登录sqlplus看一下procress和session的参数值和占用值:
可以看到在没有任何在程序没有连接数据库的时候procress的占用值是18,而参数值为300,所有此时占用量很小,那么接下来分别启动应用服务器下的tomcat,依次看一下应用服务器1下的第1个tomcat,应用服务器1下的第2个tomcat和应用服务器1下的第3个tomcat之后,procress占用值的变化~
启动第1个tomcat后访问主页:
启动第2个tomcat后访问主页:
启动第3个tomcat后访问主页:
不难发现每次process的值都增加了60,此时应用服务器1的tomcat已全部启动,那么也意味着应用服务器2的第二台tomcat启动后,process的值已超过300(198+120=318),所以当再启动应用服务器2的第3台tomcat时就无法登录了,所以我们仅需要修改process和session的最大值即可,修改语句如下:
- 1
- 2
注意一下processes的值和sessions的值,Oracle官方文档中要求:
- 1
也就是说sessions的值是根据processes的值计算后得到的,这里需要注意一下,最后重启一下Oracle服务即可,此时再分别开启应用服务器2的3个tomcat并依次访问主页后再看一下process和session的参数值和占用值情况:
如上图,可以看到process的值已经成功修改为1000,而此时开启了6个tomcat所占用的process值为378,session的占用值为375,都远远小于参数值,所以至此项目均已可以正常访问。
总结
简单记录一下这个Oracle异常的解决方案,希望对遇到同样问题的朋友有所帮助,The End。
- ORA-12516 "TNS监听程序找不到符合协议堆栈要求的可用处理程序" 解决方案
- ORA-12516 "TNS监听程序找不到符合协议堆栈要求的可用处理程序" 解决方案
- ORA-12516 "TNS监听程序找不到符合协议堆栈要求的可用处理程序" 解决方案
- ORA-12516: TNS: 监听程序找不到符合协议堆栈要求的可用处理程错误解决方案
- ORA-12516: TNS: 监听程序找不到符合协议堆栈要求的可用处理程序
- ora-12516 TNS 监听程序找不到符合协议堆栈要求的可用处理程序
- ORA-12516 TNS监听程序找不到符合协议堆栈要求的可用处理程序--解决方法
- ORA-12516 TNS监听程序找不到符合协议堆栈要求的可用处理程序--解决方法
- ora-12516:TNS:监听程序找不到符合协议堆栈要求的可用处理程序
- ORA-12516 TNS: 监听程序找不到符合协议堆栈要求的可用处理程序
- 【转载】ORA-12516 TNS监听程序找不到符合协议堆栈要求的可用处理程序--解决方法
- ORA-12516 TNS监听程序找不到符合协议堆栈要求的可用处理程序--解决方法之一
- ORA-12516: TNS: 监听程序找不到符合协议堆栈要求的可用处理程”的异常
- ORA-12516: TNS: 监听程序找不到符合协议堆栈要求的可用处理程
- ORA-12516: TNS: 监听程序找不到符合协议堆栈要求的可用处理程错
- ORA-12516: TNS: 监听程序找不到符合协议堆栈要求的可用处理程
- ORA-12516: TNS: 监听程序找不到符合协议堆栈要求的可用处理程
- ORA-12516: TNS: 监听程序找不到符合协议堆栈要求的可用处理程
- 项目中遇到的问题与解决方法——持续添加
- 一种分隔屏幕显示效果
- 技术文章 | 王思聪"吃翔"项目
- 什么是大数据?你需要知道的…
- 最小生成树(深度)
- ORA-12516 "TNS监听程序找不到符合协议堆栈要求的可用处理程序" 解决方案
- 解决 ubuntu audacity 无法启动
- GKQuadtreeNode
- UVa714 例题8-10 抄书
- [Usaco2007 Jan]Telephone Lines架设电话线
- linux库的加载原理
- 优云蒋君伟:自动化运维成本仍然很高
- nodejs-npm-webpack安装
- 拷贝构造函数