Windows平台下Oracle 11g R2监听文件日志过大,造成客户端无法连接的问题处理

近期部署在生产环境的应用突然无法访问,查看应用日志发现无法获取数据库连接。

SystemErr     R Caused by: oracle.net.ns.NetException: The Network Adapter could not establish the connection
SystemErr     R     at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:359)
SystemErr     R     at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:422)
SystemErr     R     at oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:672)
SystemErr     R     at oracle.net.ns.NSProtocol.connect(NSProtocol.java:237)
SystemErr     R     at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1042)
SystemErr     R     at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:301)
SystemErr     R     ... 154 more
SystemErr     R Caused by: java.net.ConnectException: Connection refused: connect
SystemErr     R     at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
SystemErr     R     at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:96)
SystemErr     R     at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:369)
SystemErr     R     at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:230)
SystemErr     R     at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:212)
SystemErr     R     at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:191)
SystemErr     R     at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:403)
SystemErr     R     at java.net.Socket.connect(Socket.java:642)
SystemErr     R     at oracle.net.nt.TcpNTAdapter.connect(TcpNTAdapter.java:141)
SystemErr     R     at oracle.net.nt.ConnOption.connect(ConnOption.java:123)
SystemErr     R     at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:337)
SystemErr     R     ... 159 more

操作记录:

1、重启数据库的监听、实例服务后仍然无法通过客户端连接;

2、重启了数据库服务器后再次启动监听和实例服务后依然无法连接;

3、此时尝试在服务器中使用客户端连接工具连接数据库无法获取连接,排除了网络问题的可能性;

4、停止连接至数据库服务器的App后,监听和实例服务能够正常启动,也能通过客户端连接至数据库服务器;

5、此时通过exp命令对数据库进行了数据备份;

6、启动连接此数据库的App后发现仍然无法正常获取连接,再次通过客户端工具连接Oracle实例发现已经无法获取连接;

7、再次停止应用,尝试了几次重启Oracle服务后终于启动起来;

8、将备份数据导入备份数据库服务器后,将应用的数据库连接切换至备份数据库,恢复正常服务;

排查问题

1、排除网络故障的可能性;

2、检查监听文件配置正确;

路径:
D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora

3、检查tnsnames配置正确;

路径:
D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora

4、查看错误日志;

路径:
D:\app\Administrator\diag\rdbms\orcl\orcl\trace\alert_orcl.log

通过查看日志发现大量如下错误:

TNS-12537: TNS: 连接关闭
    ns secondary err code: 12560
    nt main err code: 0
    nt secondary err code: 0
    nt OS err code: 0

通过百度错误关键字“TNS-12537: TNS: 连接关闭”,找到一篇文章:

http://blog.itpub.net/23169974/viewspace-1067401/

该文章描述了listener.log日志文件过大导致服务异常的问题,感觉现象与我的很像。

5、查看listener.log日志

通过搜索日志文件终于找到该文件。

路径:
D:\app\Administrator\diag\tnslsnr\WIN-RU03CB21QGA\listener\trace\listener.log

发现该文件确实已经增长至4GB大小,与博客中描述的问题一致,终于找到问题所在。

问题处理:

解决办法很简单,就是停止所有Oracle服务,清除日志文件,重启服务后即可。

时间: 2024-10-05 05:01:06

Windows平台下Oracle 11g R2监听文件日志过大,造成客户端无法连接的问题处理的相关文章

Windows平台下Oracle监听服务启动过程中日志输出

Windows平台下Oracle监听服务启动过程中日志输出记录. 日志目录:D:\app\Administrator\diag\tnslsnr\WIN-RU03CB21QGA\listener\trace\listener.log 日志输出内容: Sat Aug 06 20:38:44 2016 系统参数文件为D:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora 写入d:\app\administrator

Windows平台下Oracle实例启动过程中日志输出

Windows平台下Oracle实例启动过程中日志输出记录. 路径:D:\app\Administrator\diag\rdbms\orcl\orcl\trace\alert_orcl.log 输出内容: Sat Aug 06 20:39:55 2016 Starting ORACLE instance (normal) LICENSE_MAX_SESSION = 0 LICENSE_SESSIONS_WARNING = 0 Picked latch-free SCN scheme 3 Usin

oracle 11g rac 监听程序offline

oracle 11g rac 监听程序在调整过网络后出现监听进程offline,而且两台节点之间频繁切换,查看日志/var/log/message 发现有频繁的注册撤销动作. 监听日志 /u01/app/oracle/diag/tnslsnr/rac1/listener/trace/listener.log监听文件 /u01/app/11.2.0/grid/network/admin/listener.oraoracle错误日志 /u01/app/oracle/diag/rdbms/oaorcl

Oracle 11g RAC 监听日常管理

需要必须掌握的命令,上周遇到了一个小问题,就是需要重启数据库监听,有的同学竟然使用oracle用户重启监听,原理就搞错了怎么行.以下操作都需要再grid用户下进行操作. 1.查看监听状态 <roidb2:+ASM2:/home/grid>$srvctl status listener Listener LISTENER is enabled Listener LISTENER is running on node(s): roidb1,roidb2 <roidb2:+ASM2:/home

有一台oracle 11g的监听莫名死掉,lsnrctl stop /status 一直处于等待,客户端plsql连不上

到oracle服务器上设置下面的 解决方案:在Oracle Net Server tracing/logging中出现这个错误,请在sqlnet.ora中设置DIAG_ADR_ENABLED =OFF在Listener component中出现这个错误,请在listener.ora中设置DIAG_ADR_ENABLED_ = OFF sqlnet.ora:SQLNET.INBOUND_CONNECT_TIMEOUT=180listener.ora:INBOUND_CONNECT_TIMEOUT_

windows平台下Oracle XE安装

Oracle 11g R2安装手册(图文教程)For Windows

1.Oracle 11g R2安装手册(图文教程)For Windows 1.下载Oracle 11g R2 for Windows版本,下载地址如下 官方网站: http://download.oracle.com/otn/nt/oracle11g/112010/win32_11gR2_database_1of2.zip http://download.oracle.com/otn/nt/oracle11g/112010/win32_11gR2_database_2of2.zip 2.解压两个

windows平台下的oracle ORA-01031的解决方法

今天下午遇到一个很怪异的问题,在windows平台下sqlplus  / as sysdba登陆数据库,提示权限不足, 当时就纳闷了,sys用户登陆数据库还能权限不足,问题出现了,就开始寻找解决方法呗 首先查看$ORACLE_HOME/network/admin/sqlnet.ora中SQLNET.AUTHENTICATION_SERVICES项的配置信息, 网上的大多数帖子一致结论为: 在windows平台上,SQLNET.AUTHENTICATION_SERVICES必须设置为NTS或者AL

Oracle 11G R2 在windows server 2008 64位安装时提示:无法在windows &quot;开始&quot;菜单或桌面上创建项

错误代码及解释: 在windows server 2008 64 位操作系统中安装 oracle 11G R2 64位 版本时提示:无法在windows "开始"菜单或桌面上创建项 解决方法: 这是由于windows server 2008 默认使用语言为英语,在安装oracle 时,找不到相应的中文字符集,所以报错. 在控制面板,打开区域和语言,在“管理”选项中,将区域和语言设置为“中文(简体,中国)",重新启动服务, 重新安装oracle 11G . 来自:http://