2010-04-16 91 views
2

我在那裏我們得到的生產問題,從時間與Oracle連接時間的環境中工作。我們使用ASP.NET應用程序中的ODP.NET,並且我們懷疑防火牆關閉連接池中的連接時間過長。是什麼「ORA-12571:TNS包作家失敗」之間的差異,「ORA-03135:連接失去了聯繫」?

有時候,我們得到了一個「ORA-12571:TNS包作家失敗」的錯誤,有時我們得到「ORA-03135:連接失去了聯繫。」

,如果有人碰到這個和/或具有2個錯誤之間的差異的理解,我想知道。

回答

5

使用移動電話的比喻:

  • ORA-12571(故障)指呼叫掉落。
  • ORA-03135(連接丟失),對方掛斷了電話。
3

我的理解是,當一個連接丟失3135發生。但是,這並不能告訴你爲什麼連接丟失。它可能已被服務器終止,因爲服務器在某段時間內未能收到對探測器的響應,並且認爲連接已中止。或者(我不確定)與此相反:客戶端在一定的時間內未能從服務器接收探測響應,因此認爲連接丟失。 「一定的時間」由sqlnet.ora中的SQLNET.EXPIRE_TIME = [minutes]控制。

至於12571,我的(又一個模糊的)理解是,在與服務器通信期間發送數據包突然失敗,而且這通常是由某些軟件或硬件干擾連接引起的(通過設計或者錯誤)。例如,如果你拔出你的以太網電纜,然後嘗試執行一個查詢,你可能會得到這個。或者如果防火牆或反惡意軟件應用程序決定阻止流量。