3

我在一个环境中工作,我们不时遇到与 Oracle 连接相关的生产问题。我们从 ASP.NET 应用程序中使用 ODP.NET,我们怀疑防火墙会关闭连接池中的连接时间过长。

有时我们会收到“ORA-12571: TNS packet writer failure”错误,有时我们会收到“ORA-03135: connection lost contact”。

我想知道是否有人遇到过这种情况和/或了解这两个错误之间的区别。

4

2 回答 2

6

用手机打个比方:

  • ORA-12571(失败)意味着呼叫被挂断。
  • ORA-03135(连接丢失)对方挂断。
于 2010-04-16T23:41:06.693 回答
3

我的理解是连接丢失时会发生 3135。但是,这并不能告诉您连接丢失的原因。它可能已被服务器终止,因为服务器在一定时间内未能收到对探测的响应,并假定连接已死。或者(我不确定)与此完全相反:客户端在一定时间内未能从服务器接收到探测响应,因此它假定连接丢失。“一定的时间量”由 sqlnet.ora 中的 SQLNET.EXPIRE_TIME=[minutes] 控制。

至于 12571,我(再次模糊)的理解是,在与服务器通信期间发送数据包突然失败,这通常是由某些软件或硬件干扰连接(设计或错误)引起的)。例如,如果您拔出以太网电缆然后尝试执行查询,您可能会得到这个。或者,如果防火墙或反恶意软件应用程序决定阻止流量。

于 2010-04-16T21:33:19.450 回答