zoukankan      html  css  js  c++  java
  • 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:appAdministratorproduct11.2.0dbhome_1NETWORKADMINlistener.ora

    3、检查tnsnames配置正确;

    路径:
    D:appAdministratorproduct11.2.0dbhome_1NETWORKADMIN nsnames.ora

    4、查看错误日志;

    路径:
    D:appAdministratordiag dbmsorclorcl racealert_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:appAdministratordiag nslsnrWIN-RU03CB21QGAlistener racelistener.log

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

    QQ截图20160806201410

    问题处理:

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

  • 相关阅读:
    Windows 7安装 OneDrive
    MySQL8.0降级为MySQL5.7
    Windows和Linux下安装Rsync
    Jenkins持续集成工具安装
    Pure-Ftpd安装配置
    redis安装配置
    Tcp粘包处理
    .Net Core Socket 压力测试
    使用RpcLite构建SOA/Web服务(Full .Net Framework)
    使用RpcLite构建SOA/Web服务
  • 原文地址:https://www.cnblogs.com/xusweeter/p/5744770.html
Copyright © 2011-2022 走看看