java监听oracle日志,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 moreSystemErr 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:12560nt main err code:0nt secondary err code:0nt OS err code:0

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

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

5、查看listener.log日志

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

路径:

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

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

20180110201307461997.png

问题处理:

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

标签:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值