0ra-12170 tns 連接超時

 大家好:

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

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

tns的配置文件不對

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

二服務器的防火牆開了

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

三路由的配置問題

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

   我在機房時,用無線連接外網做上網用,用有線連接內網做連接數據庫用。正常情況下,是不能同時實現外網和內網的同時訪問的,必須先把路由表的信息設置下,使外網和內網的網關不在同一個子網掩碼上。可以在控制檯下用 route print 查看本地的路由信息。

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

這時可以把外網的無線網絡斷掉,這樣內網就可以連接上了。我正是看到了這點,才明白是網絡的原因,不是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文件的形式直接的手工執行。運行完後,我的路由信息如下圖所示

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

 

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

發佈了29 篇原創文章 · 獲贊 10 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章