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

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服务,清除日志文件,重启服务后即可。

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

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

    Windows平台下Oracle监听服务启动过程中日志输出记录. 日志目录:D:\app\Administrator\diag\tnslsnr\WIN-RU03CB21QGA\listener\tra ...

  2. 全网最详细的Windows系统里Oracle 11g R2 Client客户端(64bit)安装后的初步使用(图文详解)

    不多说,直接上干货! 前期博客 全网最详细的Windows系统里Oracle 11g R2 Client(64bit)的下载与安装(图文详解) 命令行方式测试安装是否成功 1)   打开服务(cmd— ...

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

    Windows平台下Oracle实例启动过程中日志输出记录. 路径:D:\app\Administrator\diag\rdbms\orcl\orcl\trace\alert_orcl.log 输出内 ...

  4. 全网最详细的Windows系统里Oracle 11g R2 Client(64bit)的下载与安装(图文详解)

    不多说,直接上干货! 环境: windows10系统(64位) 最好先安装jre或jdk(此软件用来打开oracle自带的可视化操作界面,不装也没关系:可以安装plsql,或者直接用命令行操作) Or ...

  5. 全网最详细的Windows系统里Oracle 11g R2 Database(64bit)安装后的初步使用(图文详解)

    不多说,直接上干货! 前期博客 全网最详细的Windows系统里Oracle 11g R2 Database(64bit)的下载与安装(图文详解) 命令行方式测试安装是否成功 1)   打开服务(cm ...

  6. 全网最详细的Windows系统里Oracle 11g R2 Database(64bit)的完全卸载(图文详解)

    不多说,直接上干货! 前期博客 全网最详细的Windows系统里Oracle 11g R2 Database(64bit)的下载与安装(图文详解) 若你不想用了,则可安全卸载. 完全卸载Oracle ...

  7. 全网最详细的Windows系统里Oracle 11g R2 Database服务器端(64bit)的下载与安装(图文详解)

    不多说,直接上干货! 环境: windows10系统(64位) 最好先安装jre或jdk(此软件用来打开oracle自带的可视化操作界面,不装也没关系:可以安装plsql,或者直接用命令行操作) Or ...

  8. [转]通过Net Manager 配置Oracle 11g本地监听服务(listener service)

    本文转自:http://blog.csdn.net/mozart_cai/article/details/8596504 [Target] 通过ip address 监听orcl服务,而不是通过loc ...

  9. Windows系统里Oracle 11g R2 Client(64bit)的下载与安装

    环境: windows10系统(64位) 最好先安装jre或jdk(此软件用来打开oracle自带的可视化操作界面,不装也没关系:可以安装plsql,或者直接用命令行操作) Oracle 11g 是仅 ...

随机推荐

  1. 牛客网 中南林业科技大学第十一届程序设计大赛J题 二分+线段树

    https://www.nowcoder.com/acm/contest/124#question 题意  找第一个不小于K的数的下标,然后对它前一个数加一 解析   我们可以维护一个最大值数组  1 ...

  2. AOJ731(不等式)

    题意:有n(n<=100)个石头,每个石头的价值在Ai~Bi(1<=Ai<=Bi<=10000)之间,将这些石头分给两个人,求两个人的最大总价值差的最小值 分析: 与一般的求最 ...

  3. Spring Boot-Logback 配置(区分环境、分包、分级别打印)

    <?xml version="1.0" encoding="UTF-8"?> <configuration> <!--生产环境 - ...

  4. [TypeScript] Represent Non-Primitive Types with TypeScript’s object Type

    ypeScript 2.2 introduced the object, a type that represents any non-primitive type. It can be used t ...

  5. [Sqlite3] Sqlite Introduction

    Check whether you have sqlite3 installed: sqlite3 -version To create a new db: sqlite3 <filename. ...

  6. Android插屏动画效果

    公司研发SDK,须要类似有米插屏的动画效果,研究了下,写了一个DEMO,凝视非常具体了. <span style="font-size:24px;">package c ...

  7. redux 简明学习

    核心概念 redux专注于状态管理,把所有的状态都存在一个对象中.核心概念包括:store.state.action.reducer [store] store是保存数据的地方,redux提供crea ...

  8. HDU1215--七夕节

    找出小于N的全部因子的和,N比較大,非常明显要打表来做,不然肯定会超时 方法就是枚举范围内每一个整数.然后再枚举范围内这个整数的全部的倍数,加上这个数 由于这个整数的倍数中一定含有这个整数因子,这样速 ...

  9. Python extensions for Windows

    Python extensions for Windows pywin32 214 Python extensions for Windows Maintainer: Mark Hammond Hom ...

  10. ios33--线程通信

    // // ViewController.m // 06-掌握-线程间通信 // // atomic:为set方法加锁,线程安全,需要消耗资源. // nonatomic:不为set方法加锁,非线程安 ...