当前位置:数据库 > Oracle >>

oracle 11g不能连接报ORA-12537解决

oracle 11g不能连接报ORA-12537解决
 
一个windows上安装oracle 11g数据库,运行一段时间后,突然出现ORA-12537错误,应用不能连接了。检查了alert.log日志文件,发现错误信息如下:
Fatal NI connect error 12537, connecting to:
 (LOCAL=NO)
 
  VERSION INFORMATION:
    TNS for 32-bit Windows: Version 11.2.0.1.0 - Production
    Oracle Bequeath NT Protocol Adapter for 32-bit Windows: Version 11.2.0.1.0 - Production
    Windows NT TCP/IP NT Protocol Adapter for 32-bit Windows: Version 11.2.0.1.0 - Production
  Time: 20-3月 -2013 09:08:24
  Tracing not turned on.
  Tns error struct:
    ns main err code: 12537
    
TNS-12537: TNS: 连接关闭
    ns secondary err code: 12560
    nt main err code: 0
    nt secondary err code: 0
    nt OS err code: 0
opiodr aborting process unknown ospid (6032) as a result of ORA-609
Wed Mar 20 09:08:34 2013
 
日志文件alert.log中不断地出现此错误信息。出错之前没有系统任何改动。
 
因为是windows系统,有些发怵,不知道系统会怎么样。但数据库又是正常的,即使重启,使用sysdba还是能登录的。问题肯定是出在监听器上。监听器不能和数据库进程建立连接了。
使用lsnrctl status命令检查监听器状态,结果是没响应。
 
根据oracle提示,说将listener.ora文件和sqlnet.ora文件修改一下参数。
Sqlnet.ora: SQLNET.INBOUND_CONNECT_TIMEOUT=180
Listener.ora: INBOUND_CONNECT_TIMEOUT_LISTENER=120
将建立连接的超时时间设置大点,默认是60秒。
但是,还是不管用。这个过程中,不知道重启了多少次服务器。windows嘛,没办法的。
后来,又看一下listener.log文件,突然发现这个文件大小有4GB了。不再写如新的内容进来了。
会不会是日志文件满了,监听器就不工作了。于是,清理掉该文件,一切恢复正常。
 
我记得,在linux下oracle 10g中,该日志文件一旦满了,就会不记录日志但监听器正常。没想到在windows下,11g就因此而挂了。
唉,细节,注意细节啊。
Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,