【Oracle错误处理】java JDBC连接oracle数据库报错,提示java.sql.SQLRecoverableException:IO 错误:Socket read timed out
客户内网测试环境,平台一直是好的(用了好几年了),今天要部署集成代码,需要在测试环境进行接口联调,还没部署,平台服务突然就挂了,提示错误如下
#原因分析
一.平台部署包数据配置有问题
二.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:有类似问题的朋友可作为参考
本文来自博客园,作者:泠雨0702,转载请注明原文链接:https://www.cnblogs.com/lingyu0702/p/16382933.html
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库