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

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. Educational Codeforces Round 45 (Rated for Div. 2) C、D

      C. Bracket Sequences Concatenation Problem time limit per test 2 seconds memory limit per test 256 ...

  2. 洛谷 U41572 Portal2

    U41572 Portal2 题目背景 某地ENLIGHTENED的XM研究所正在研究Portal的处理法则,想要揭示XM能量的来源以及应用XM能量.ENLIGHTENED的首席科学家Jacks发现其 ...

  3. git锁和钩子以及图形化界面

    1.锁机制 Locking Options 严格锁(strict locking):一个时刻,只有一个人可以占用资源. 乐观锁(optimistic locking):允许多个人同时修改同一文件.乐观 ...

  4. Spring MVC不要在@Service bean中保存状态

    先看这么一段代码: @Service public class AccountService { private String message; public void foo1() { if (tr ...

  5. oracle事务处理及实例演示jdbc操作批量删除

    事务 作为逻辑处理的基本单位,对于数据库操作来说由一条或者多条sql语句来构成.当然还有针对非数据库操作的,如在计算机中设置的还原点即是一个非常好的应用. 对于事务的基本性质在还有一篇中有所叙述:SQ ...

  6. android studio 0.8.1使用和遇到问题解决

    谷歌6月底公布了五大系统,而且android studio同步升级到了android studio 0.8.1.升级了的android studio确实有一些新的变化.执行速度变快,而且还能够选择开发 ...

  7. Myeclipse的优化方法

    近期在实习,公司给分配了新的电脑,可是不知道怎么弄得,总是弄得非常卡,没办法仅仅有自己好好整理一下电脑了,另外.为了提高编程的效率.顺便也把Myeclipse也优化了一下. 第一步: 取消自己主动va ...

  8. dumpdecrypted进行砸壳

    1.下载源码git clone git://github.com/stefanesser/dumpdecrypted/ 2.进行编译生成 dumpdecrypted.dylibmake 3.将dump ...

  9. 后台发送http请求通用方法,包括get和post

    package com.examsafety.service.sh; import java.io.BufferedReader; import java.io.IOException; import ...

  10. Codeforces Round #233 (Div. 2)D. Painting The Wall 概率DP

                                                                                   D. Painting The Wall ...