我有一个第三方.NET Web应用程序(Sitecore的),其连接到Oracle数据库在我的DMZ服务器(从我的LAN与防火墙分开)上。该应用程序与数据库之间的连接速度很慢。它不会失败,过程(被称为出版)只是需要很长的时间相较于应用程序(Sitecore的)和我们的局域网内的Oracle数据库(几毫秒和20分钟)之间发生同样的过程。有趣的是,我得到了相同的行为,当我用蟾蜍为Oracle查询DMZ中的数据库与查询数据库的副本,我的局域网内。

我复制的设置我们的局域网内,问题消失。如果我使用MSSQL数据库的问题也消失了。如果我们没有在Oracle的sqlplus的应用程序中使用Sitecore的或蟾蜍,而是运行简单的查询,不会出现问题。

这表明,我认为这个问题是特定于使用.NET中的Oracle数据提供应用程序,并且被我们的局域网内运行,并试图查询我们的局域网外的Oracle数据库。

操作系统是Windows 2008R2 64位(Oracle数据库服务器),Windows 2008中的32位(Sitecore的),Win7的64位(蟾蜍和SQLPLUS客户机)。不知道什么是防火墙,但我认为这是某种形式的虚拟交换机/路由器的事情(是的,我不是一个网络的家伙,你怎么猜到的?)。甲骨文为10g。客户端使用Oracle.DataAccess 2.102.4.0或2.102.5.0为64位和32位。蟾蜍是10.6。 Sitecore的是6.2.0转091012

我已经运行各种监视器Wireshark的一样,将procmon和Win7的资源监视器,但我真的不知道我要找的。所有我能看到的是,有大量时间间隙之间发送和接收,但我不能确定正在创建这些差距在哪里。对我来说,这是所有真正的鬼。在我的经验,网络连接或者工作或没有,如果有的行驶缓慢,那么所有的流量是缓慢的。

任何想法,什么可能导致此行为?具体地讲,什么样的网络/路由器/防火墙的设置可能导致连接(在根据TNS的Wireshark和TCP协议),慢慢地走,但不是完全失败,对于一个特定实现Oracle数据提供商?

困惑和轻度惊吓,

詹姆斯。

有帮助吗?

解决方案

因此,答案是,我们正在使用导致此问题的防火墙。它试图做在Oracle业务的深度包检测(已被ODP.net提供商处理),这大大减缓了网络流量的下降,实际上并没有停止它。与不同的方法工作的防火墙应该解决这个问题。这些家伙是任务(蟾蜍支持)都非常好,并回答了上来。甲骨文的支持不太有用。任务对问题的一些文档,但它是有背后支持门户。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top