ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

【Oracle错误处理】java JDBC连接oracle数据库报错,提示java.sql.SQLRecoverableException:IO 错误:Socket read timed out

2022-06-17 14:37:58  阅读:302  来源: 互联网

标签:java log 连接 listener 报错 oracle 错误处理 监听 plsql


客户内网测试环境,平台一直是好的(用了好几年了),今天要部署集成代码,需要在测试环境进行接口联调,还没部署,平台服务突然就挂了,提示错误如下

 

#原因分析
一.平台部署包数据配置有问题

二.Oracle数据库有问题
第一种原因排查:
啥,初始化数据连接池失败,第一反应是数据库配置有问题,打开配置文件,从url,账号,密码,及连接池配置全部检查了3遍,而且问过客户,自从测试环境搭建好,配置文件从来没改过,确实没毛病。
第二种原因排查:
  然后推测可能是oracle数据库的问题,打开plsql,一会提示无监听,一会提示监听配置有无法识别的描述,一会又能连上一次,反正不管哪种,点连接的那一刹那,plsql小窗口都会卡白屏,趁着plsql能连的时候,又启服务,
还是一样的错误,百度一下,全是说监听有问题,删除监听,重新配置,还是好那么一小会plsql能连接,但服务依然起不来,懵逼了,手动修改监听文件 listener.ora和tnsnames.ora之后重启监听依然如此,原因还是不明。
   那换个连接软件吧,使用oracle自带的SQL Developer,打开配置好连接地址,账号,密码,实例名,多次点击测试连接,然后出现连接中的遮罩,也是时好时坏,好的时候一下子连上,不好的时候也是一直在连接。于是又去找,
这次的关键字是oracle连接特别慢,然后看到一位大佬说可能是监听日志文件(listener.log)超过上限4G,就会慢,于是去目录下检查,果然已经超过4G,于是决定清理下试试,果然就好了,
操作步骤如下

1.进入windows服务管理,找到并手动停止OracleOraDb11g_home1TNSListener服务(该服务会占用listener.log文件)

2.进入 D:\app\你的pc用户账号\diag\tnslsnr\你的主机名\listener\trace目录下,重命名listener.log为listener+当前时间.log,并手动新建listener.log文件

3.重启OracleOraDb11g_home1TNSListener服务,重启当前使用的实例服务(OracleServiceORCL)

4.稍等半分钟,重新使用plsql,SQL Developer测试,已恢复正常

附listener.log文件目录

D:\app\你的pc用户账号\diag\tnslsnr\你的主机名\listener\trace

 

ps:有类似问题的朋友可作为参考

 

标签:java,log,连接,listener,报错,oracle,错误处理,监听,plsql
来源: https://www.cnblogs.com/lingyu0702/p/16382933.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有