/etc/resolv.conf 導致 oracle 11g TNS解析緩慢甚至 TNS-12547 Linux Error: 104
近一段時間,客戶經常會報登入系統出亂碼,我們看了一下,一般是TNS的問題,查了一下伺服器的監聽日誌,發現客戶出問題是經常報:tns
然後lsnrctl status 檢視監聽狀態,經常卡住一段時間,報:
TNS-12547: TNS:lost contact
TNS-12560: TNS:protocol adapter error
TNS-00517: Lost contact
Linux Error: 104: Connection reset by peer
在tnsping的過程當中發現卡住位置是在
Used TNSNAMES adapter to resolve the alias
之前,那麼問題應該是出在使用tnsnames解析之前,
在網上搜尋資料,發現問題出在/etc/resolv.conf檔案上:
使用了nameserver 解析。
如果配置了nameserver,那麼oracle就要先驗證nameserver,失敗超時之後才會用別的辦法連線。而監聽的域名實際上是伺服器自己定義的,在nameserver 中肯定是解析不到的。
2015.08.26:最近發現,可以設定dns的解析超時時間,如下:
在/etc/resolv.conf檔案中新增:
options timeout:1 attempts:1 rotate
問題解決。
2015.09.11:08.26發現的解析超時時間的設定,只能延緩問題發生的頻率,其它包括設定sqlnet.authentication_services ,設定INBOUND_CONNECT_TIMEOUT_listener = 0等方式都測試過,剛開始確實能穩定一段時間,但隨著時間推移,負載的提升,問題還是會重現,目前測試唯一有效的方法就是註釋掉/etc/resolv.conf檔案。
一般來說,伺服器不需要DNS解析,但也有一些特殊應用,會用到DNS,我們公司的一個應用就需要DNS解析來做域名判斷,現在只能改hosts檔案,運維工作一下子提升了好多。。。
PS.請知道其它解決方案的朋友不吝賜教,感激不盡!!
2015.09.17:最近一直在研究這個問題,發現這是oracle的一個bug:bug 9593134
Bug 9593134 - DNS or NIS mis-configuration can cause slow database connects (文件 ID 9593134.8)
APPLIES TO:Oracle Net Services - Version 1.0.2.4.0 to 11.2.0.1
Information in this document applies to any platform.
DETAILS Bug 9593134 DNS or NIS mis-configuration can cause slow database connects This note gives a brief overview of bug 9593134.
The content was last updated on: 27-MAR-2012
可以看到問題出在即使TNSNAMES.ORA你使用IP地址,任然會進行解析,並且首先會去嘗試通過resolv.conf中的配置進行解析,當一個地址不可達時就會出現等待,然後才會使用HOSTS檔案。 此問題在11.2.0.2修復,影響11.1.0.7和11.2.0.1,解決登出掉/etc/resolv.conf類容即可,或者安裝補丁程式 bug 9593134
解決方案來源:https://community.oracle.com/message/4491745
http://www.askmaclean.com/archives/dns%E8%AE%BE%E7%BD%AE%E5%BC%95%E8%B5%B7%E7%9A%84%E7%99%BB%E5%BD%95%E5%BB%B6%E8%BF%9F.html
然後lsnrctl status 檢視監聽狀態,經常卡住一段時間,報:
TNS-12547: TNS:lost contact
TNS-12560: TNS:protocol adapter error
TNS-00517: Lost contact
Linux Error: 104: Connection reset by peer
在tnsping的過程當中發現卡住位置是在
Used TNSNAMES adapter to resolve the alias
之前,那麼問題應該是出在使用tnsnames解析之前,
在網上搜尋資料,發現問題出在/etc/resolv.conf檔案上:
使用了nameserver 解析。
如果配置了nameserver,那麼oracle就要先驗證nameserver,失敗超時之後才會用別的辦法連線。而監聽的域名實際上是伺服器自己定義的,在nameserver 中肯定是解析不到的。
2015.08.26:最近發現,可以設定dns的解析超時時間,如下:
在/etc/resolv.conf檔案中新增:
options timeout:1 attempts:1 rotate
一般來說,伺服器不需要DNS解析,但也有一些特殊應用,會用到DNS,我們公司的一個應用就需要DNS解析來做域名判斷,現在只能改hosts檔案,運維工作一下子提升了好多。。。
PS.請知道其它解決方案的朋友不吝賜教,感激不盡!!
2015.09.17:最近一直在研究這個問題,發現這是oracle的一個bug:bug 9593134
Bug 9593134 - DNS or NIS mis-configuration can cause slow database connects (文件 ID 9593134.8)
APPLIES TO:Oracle Net Services - Version 1.0.2.4.0 to 11.2.0.1
Information in this document applies to any platform.
DETAILS Bug 9593134 DNS or NIS mis-configuration can cause slow database connects This note gives a brief overview of bug 9593134.
The content was last updated on: 27-MAR-2012
可以看到問題出在即使TNSNAMES.ORA你使用IP地址,任然會進行解析,並且首先會去嘗試通過resolv.conf中的配置進行解析,當一個地址不可達時就會出現等待,然後才會使用HOSTS檔案。 此問題在11.2.0.2修復,影響11.1.0.7和11.2.0.1,解決登出掉/etc/resolv.conf類容即可,或者安裝補丁程式 bug 9593134
解決方案來源:https://community.oracle.com/message/4491745
http://www.askmaclean.com/archives/dns%E8%AE%BE%E7%BD%AE%E5%BC%95%E8%B5%B7%E7%9A%84%E7%99%BB%E5%BD%95%E5%BB%B6%E8%BF%9F.html
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14184018/viewspace-1766904/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- TNS-12547,Linux Error: 104: Connection reset by peerLinuxError
- TNS-12547 Linux Error: 104: Connection reset by peerLinuxError
- 域名解析導致資料庫連線緩慢(hosts :files dns)資料庫DNS
- Oracle案例04——TNS-12547: TNS:lost contactOracle
- TNS-12547TNS-12560 TNS-00517 Linux Error: 104: Connection reset by peerLinuxError
- Oracle資料庫非同步IO導致查詢響應緩慢Oracle資料庫非同步
- EM自動任務導致資料庫緩慢資料庫
- RAC環境關閉CLUSTER後導致連線緩慢
- oracle 啟動監聽報錯TNS-12547: TNS:lost contactOracle
- Oracle 11g資料庫緩慢診斷案例Oracle資料庫
- Mysql索引型別建立錯誤導致SQL查詢緩慢MySql索引型別
- DNS導致資料庫登入緩慢的問題解決DNS資料庫
- 深度報導:中國Linux開源社群緩慢崛起(轉)Linux
- 效能分析(7)- 未利用系統快取導致 I/O 緩慢案例快取
- [20181130]hash衝突導致查詢緩慢.txt
- TNS-12547 TNS-12560 TNS-00517解決辦法
- 【Linux】/etc/resolv.conf 檔案Linux
- 統計資訊過期導致SQL進行NESTED LOOPS查詢緩慢SQLOOP
- 32位系統報錯TNS-12547: TNS:lost contact
- 解決記錄日誌導致VS2013緩慢的問題
- Microsoft承認Windows由於永久性記憶體而導致啟動緩慢ROSWindows記憶體
- oracle 11g tns和監聽配置Oracle
- TNS-12537, TNS-12560, TNS-00507 Linux Error: 29: Illegal seek error When StartinLinuxError
- tns連線非常慢
- TNS-12547,TNS-12537錯誤解決方法一例
- Oracle日常問題-臨時表過多導致exp速度慢Oracle
- Oracle 11G OCP 1Z0-053 104Oracle
- TNS-12537, TNS-12560, TNS-00507 Linux Error: 29: Illegal seek error When Starting the ListenerLinuxError
- 大事務導致的OGG抽取程式每天7:39定時延時,執行極其緩慢
- Solaris Linux SSH緩慢診斷與解決Linux
- 【LISTENER】Oracle通過監聽連線緩慢分析Oracle
- postgresql 匯入緩慢SQL
- TNS-1254 TNS-12560 TNS-00511 Linux Error: 111 【轉載】LinuxError
- Oracle EXPDP自動備份緩慢問題解決Oracle
- 系統報錯/etc/resolv.conf
- 安裝RAC: /etc/resolv.conf failedAI
- TCP.VALIDNODE_CHECKING導致TNS12533TCP
- 【oracle】TNS-03505: 無法解析名稱Oracle