“ORA-12571:TNS 数据包写入器失败”和“ORA-12571:TNS 数据包写入器失败”之间有什么区别?和“ORA-03135:连接失去联系”?

发布于 2024-08-29 08:29:52 字数 207 浏览 5 评论 0原文

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

有时我们会收到“ORA-12571:TNS 数据包写入器失败”错误,有时我们会收到“ORA-03135:连接失去联系”。

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

I am working in an environment where we get production issues from time to time related to Oracle connections. We use ODP.NET from ASP.NET applications, and we suspect the firewall closes connections that have been in the connection pool too long.

Sometimes we get an "ORA-12571: TNS packet writer failure" error, and sometimes we get "ORA-03135: connection lost contact."

I was wondering if someone has run into this and/or has an understanding of the difference between the 2 errors.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

半窗疏影 2024-09-05 08:29:52

用手机来比喻:

  • ORA-12571(失败)意味着通话掉线。
  • ORA-03135(连接丢失)对方挂断。

Using a mobile phone analogy:

  • ORA-12571 (Failure) Means call is dropped.
  • ORA-03135 (Connection Lost) Other party hung up.
↘紸啶 2024-09-05 08:29:52

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

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

My understanding is that 3135 occurs when a connection is lost. This doesn't tell you why the connection was lost, though. It may have been terminated by the server because the server failed to recieve a response to a probe for a certain amount of time, and assumed that the connection was dead. Or (I'm not sure about this) the exact reverse of that: the client failed to recieve a probe response from the server for a certain amount of time, so it assumed the connection was lost. The "certain amount of time" is cotrolled by SQLNET.EXPIRE_TIME=[minutes] in sqlnet.ora.

As for 12571, my (again vague) understanding is that there was a sudden failure to send a packet during communication with the server, and that this is typically caused by some software or hardware interfering with the connection (either by design, or by error). For instance, if you pull out your ethernet cable and then try to execute a query, you'll probably get this. Or if a firewall or anti-malware application decides to block the traffic.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文