Io 异常: The Network Adapter could not establish…

Io 异常: The Network Adapter could not establish the connection.

昨天公司晚上不知道怎么停电了,今天早上过来的时候

数据库服务器和WEB服务器才重新启动

接着就发现我负责的的网站开不了了 Tomcat+jsp+oracle

提示Io 异常: The Network Adapter could not establish the connection.

开头以为是web服务器的问题,在那里研究了很久,没解决

然后又检查oracle服务器,也没有解决

上网去查啊,又说什么防火墙,我的也没开

搜集点资料,大家看看

我也碰到过这个问题,主要的问题还是网络差和数据库服务经常断,关键是重新启动数据后,根据我的分析主要的原因是WebLogic的连接池并不能很好的找寻数据库的状态来重新连接.你如果检查你的网络日志,每次出现这种情况的时候,必然中间出现过网络中断的情况.因为如果网络中断时间较长,Oracle会自动停止服务.当网络情况变好后,Oracle服务重新启动了,但是Weblogic的JDBC连接池并不能恢复.我曾经碰到的情况更怪,Oracle重新启动后,Jdbc连接池的状态已经变成RUNNING了,但是应用还是报连接数据库错.这个问题我也解决得并不彻底.用过的方法如下:一是用reset重新建立连接池,如果不行,只能重新启动WebLoigic.二是把WebLogic自己带的Oracle JDBC driver,换成Oracle自己的Jdbc driver.三是配置Connection pool中的test属性,让WebLogic自己在固定的时间去测试连接池的状态.注意,当我把Weblogic从8.1升级到8.13后,情况有所好转.但总的感觉,WebLogic连接池不能很自动的适应数据库的状态.

解决方法:首先确定是网络还是数据库的问题,可以通过网管监控和数据库日志来判断。
如果是原因1,问题可能出现在WebLogic服务器的网络配置、网络交换机、数据库服务器的网络配置、是否配置数据库集群等部分。不管是哪种情况,只要网络时断时续,这个问题就有解。可以通过设置connection的Advance Option中的test项来按固定的时间让WebLoigc自动强制建立和数据库的连接。但是重建连接的时间依赖于你的网络恢复时间。
如果是原因2:首先要解决数据库shutdown后能重新启动的问题,如果数据库不能自动重启,这个问题无解。除非你做了数据库集。如果是数据库集群,多半原因是集群配置的问题,还有在集群状态下,你JDBC建立连接时要使用数据库集群对外提供的浮动ip或服务IP,如果使用数据库服务器网卡上直接配置的IP,初次连接正常,数据库集群切换后也会出现此现象。总之,只要数据库能自动重启或由于其他原因导致数据库状态时好时坏,同样采用排除原因1的方法也能解决这个问题。重建连接的时间依赖于你的数据库状态。
此问题我碰见过,已解决。

我一直以为,是数据库连接池的问题,找了半天也没有找到重建tomcat数据库连接池的方法

直到中午了,偶然在ping IP的时候发现,原来数据库服务器重启后ip跳掉了,

把ip改为现在的ip就解决了,真郁闷

以后出现这样的问题,大家还要注意看看网线是否连好,IP地址是否正确获取,你现在网卡有没正常工作。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部