一、问题描述:
目前系统在试用阶段,在线用户不多,用户经常反馈,登录系统后,过段时间不操作,有时候点击页面没有反映,刷新后再访问系统也挺快的。
在应用服务器的文件日志中偶尔有如下错误日志。
[21:04:33]|Error|System.Net.Sockets.SocketException (0x80004005): 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
在 System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
在 OracleInternal.Network.ReaderStream.Read(OraBuf OB)
[09:48:00]|Error|Oracle.ManagedDataAccess.Client.OracleException: ORA-12570: 网络会话: 意外的数据包读取错误 ---> OracleInternal.Network.NetworkException: ORA-12570: 网络会话: 意外的数据包读取错误 ---> System.Net.Sockets.SocketException: 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
查看Oralce 的预警日志,截图如下:
二、服务器环境
oracle驱动使用的是 Oracle.ManagedDataAccess.dll
1台应用(win2012 .net4.0),1台oracle服务器(v11.2),不在一个网段,客户说2台服务器之间没有防火墙,详细信息如下
应用服务器(防火墙已关闭):
IP地址: 10.191.40.23
子网掩码:255.255.255.0
默认网关:10.191.40.1
数据库服务器(防火墙已关闭):
IP地址: 10.191.42.12
子网掩码:255.255.255.224
默认网关:10.191.42.1
三、网上帖子讲,有可能是中间防火墙的原因(后面附有连接),但客户说没有防火墙,有工具或者命令可以检测吗,真是搞的头大了,在这里先谢谢各位了!
https://www.cnblogs.com/sunguangran/p/3482305.html
中石油的项目~~?
这种网络只能找他们网管,他们又要找茬又不认,你只有拿出数据证据来说了,也曾在电力、石油碰到过类似的,不过和网管还算和谐,网管处理了就好了。
关键是如何证明,有方法吗
@黑马: 1.首先确认确是上述网络问题;—— 那么还需要确定ora服务是否正常;
2.检查网络通过性:
—— 硬件和底层控制你是无法的,只能通过软件层来达成 —— 比如实时心跳来检测。
没有解决掉,结贴!