ora-12570報錯問題處理

 

 

Ora-12570報錯問題處理

使用Ado.net訪問Oracle數據庫,執行Select查詢的時候,偶爾會出現【ORA-12570: 網絡會話: 意外的數據包讀取錯誤】的問題,造成業務部分數據缺失。經過多方查找,確定不是Oracle服務器的問題,也就是跟Oracle配置沒有關係,隨後想到是否與連接池有關,百度連接池問題後找到一帖子,跟隨帖子所寫,試驗了一把,後續發現該問題不再發生,便寫下此文章留下記錄,畢竟好記性不如爛筆頭。

.net跨防火牆鏈接oracle連接池鏈接長時間無通訊數據被斷開後報錯問題解決
環境:

.net 4.0以上使用Oracle.ManagedDataAccess組件鏈接oracle數據庫,應用程序與數據庫之間存在硬件防火牆。

症狀:應用程序啓動後正常訪問,如果出現長時間無數據庫請求的情況,或者請求較少時,會出現oracle鏈接問題如下:

OracleInternal.Network.NetworkException (0x80004005): ORA-03135: 連接失去聯繫 —> System.Net.Sockets.SocketException (0x80004005): 遠程主機強迫關閉了一個現有的連接。

問題原因:硬件防火牆定期斷開無數據訪問的鏈接。

解決方案:

1.連接字符串添加VALIDATE CONNECTION=True配置,此方案每次請求前,Oracle.ManagedDataAccess會檢查應用程序池的鏈接是否有效,副作用就是每次檢查帶來的性能損耗。

2.應用程序與數據庫間不要硬件防火牆,需要調整服務器網絡。

以上轉載自:小尾魚的池塘:http://www.cnblogs.com/xiaoweiyu/

雖然寫的是ORA-03135的問題,但使用後也可以解決ORA-12570的問題,至於所說的性能損耗,目前還未得到反饋,持續關注,希望能找到最優解
————————————————
版權聲明:本文爲CSDN博主「jfx0309」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/jfx0309/article/details/128639096

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章