今天我的一位研发同事急匆匆的过来找我,说使用PL/SQL DERVELOPER连接某个核心数据库时,返回ORA-12537的错误,无法连接数据库了!
这还得了,这是一个线上数据库,有业务在运行。赶快查看:
ORA-12537的ORACLE官方错误解释:
达到什么条件了呢?
检查监听,在另外主机使用tnsping也正常。正在想着问题,我这边的PL/SQL DEVELOPER突然又能连接了。但是研发的同事那边却说报错依然,无法连接。
我突然感觉这可能和连接数有关系,立刻查看有关接入到这个数据库主机1521端口的连接数,320个,数据库的SESSIONS值是335(当然这里如果是超过了sessions的最大数目应该是报:ORA-00018: maximum number of sessions exceeded,除了后台进程应该也快要到达最大SESSION的数了)!如果再加入其他的连接,整个主机的网络连接数就非常多了。
直接检查连接最多主机和程序,发现有个主机上的TOMCAT有74个数据库连接(应该是有问题的)。直接杀掉这个TOMCAT,所有报ORA-12537错误的程序都可以正常接入。
连接数多,却没有报ORA-00018,但是一旦停止多个连接就可以正常连接数据库,看来这个ORA-12537错误和操作系统对网络的并发连接控制有着一定的关系。
很多时候,我们对于ORA-12537的错误解决:
在sqlnet.ora文件中将tcp.validnode_checking的值设为no,然后重启服务。
而此次是通过减少并发网络连接来解决的。
欢迎讨论指正。 -:)
-----------------------------------------
环境:
HP-UX B.11.23 U ia64
这还得了,这是一个线上数据库,有业务在运行。赶快查看:
ORA-12537的ORACLE官方错误解释:
Cause: "End of file" condition has been reached; partner has disconnected.
Action: None needed; this is an information message.
Action: None needed; this is an information message.
达到什么条件了呢?
检查监听,在另外主机使用tnsping也正常。正在想着问题,我这边的PL/SQL DEVELOPER突然又能连接了。但是研发的同事那边却说报错依然,无法连接。
我突然感觉这可能和连接数有关系,立刻查看有关接入到这个数据库主机1521端口的连接数,320个,数据库的SESSIONS值是335(当然这里如果是超过了sessions的最大数目应该是报:ORA-00018: maximum number of sessions exceeded,除了后台进程应该也快要到达最大SESSION的数了)!如果再加入其他的连接,整个主机的网络连接数就非常多了。
直接检查连接最多主机和程序,发现有个主机上的TOMCAT有74个数据库连接(应该是有问题的)。直接杀掉这个TOMCAT,所有报ORA-12537错误的程序都可以正常接入。
连接数多,却没有报ORA-00018,但是一旦停止多个连接就可以正常连接数据库,看来这个ORA-12537错误和操作系统对网络的并发连接控制有着一定的关系。
很多时候,我们对于ORA-12537的错误解决:
在sqlnet.ora文件中将tcp.validnode_checking的值设为no,然后重启服务。
而此次是通过减少并发网络连接来解决的。
欢迎讨论指正。 -:)
-----------------------------------------
环境:
HP-UX B.11.23 U ia64
ORACLE 10.2.0.1
本文转自Be the miracle!博客51CTO博客,原文链接http://blog.51cto.com/miracle/82842如需转载请自行联系原作者
Larry.Yue