天天看點

0ra-12170 tns 連接配接逾時

 大家好:

    前幾天在機房連接配接資料庫伺服器時,報了”0ra-12170  tns 連接配接逾時”。這個錯誤費了我兩天的時間才把問題解決掉,現在總結下,希望大家少走些彎路

   從錯誤的資訊上看,是肯定是本地的用戶端和伺服器沒有連接配接好,兩個機器的oracle直接不能通信。這個問題就多了,現總結一下:

一tns的配置檔案不對

  這個問題是最基本的,這是連接配接的基礎。這個我建議直接從伺服器上拷貝,就不會出錯了。我見過的就是因為伺服器名後有空格,導緻了伺服器無法解析。

二伺服器的防火牆開了

  防火牆會組織tns直接的連接配接,驗證可以把伺服器的防火牆關了試試看。

三路由的配置問題

 這是我今天想說的,也是花了我兩天的時間弄明白的地方。對于那些既要用外網上網收發郵件,又要用内網連接配接伺服器的使用者,這點尤其重要。

   我在機房時,用無線連接配接外網做上網用,用有線連接配接内網做連接配接資料庫用。正常情況下,是不能同時實作外網和内網的同時通路的,必須先把路由表的資訊設定下,使外網和内網的網關不在同一個子網路遮罩上。可以在控制台下用 route print 檢視本地的路由資訊。

   大家可能沒有看沒明白,我舉例說明。下面這張圖是我連不上伺服器時的路由資訊,重點是前面的兩行,可以明顯的看到我的外網的網關(192.168.1.1)和内網的網關(132.77.124.129)在同一網絡掩碼(0.0.0.0)内,這樣路由就無法解析了。

0ra-12170 tns 連接配接逾時

這時可以把外網的無線網絡斷掉,這樣内網就可以連接配接上了。我正是看到了這點,才明白是網絡的原因,不是tns的原因。接下來,我就該看怎樣實作内網和外網的同時通路了。

我用了以下的指令:

   route delete 0.0.0.0

route add 0.0.0.0 mask 0.0.0.0 192.168.1.1

route add 132.77.0.0 mask 255.255.0.0 132.77.124.129

route add 132.78.0.0 mask 255.255.0.0 132.77.124.129

route add 10.193.0.0 mask 255.255.0.0 132.77.124.129

   可以逐條的在控制台下輸入,也可以做成bat檔案的形式直接的手工執行。運作完後,我的路由資訊如下圖所示

0ra-12170 tns 連接配接逾時

同樣可以明顯的看到我的外網的網關(192.168.1.1)和内網的網關(132.77.124.129)不在同一個網絡掩碼内了,這樣路由就可以解析了。

  總結一下,出現這個問題不要慌,要一步步的去找問題的原因。