Oracle 無法監聽 因目標主機或對象不存在 連接失敗--解決方案

 

在配置Oracle過程中,監聽服務無法啓動的原因有很多,原因的分析主要通過Oracle配置過程中給出的錯誤信息進行判斷。

 

 

 

我在配置過程中,安裝過程都很順利,基本沒有出現錯誤。但在最後進入Oracle Enterprise Manager 10g Database Control後,發現控制檯提示 無法監聽。

 

在服務管理器中啓動OracleOraDb10g_home1TNSListener服務,提示“因目標主機或對象不存在”或“依賴的服務未啓動”。

 

1.我首先重啓了服務“OracleServiceORCL”,後繼續啓動監聽服務,沒有效果。

 

2.後檢查了防火牆設置(因爲監聽服務是NETWORK服務,如果機器上安裝有放火牆,可能是服務器端口號被屏蔽),重啓防火牆後,仍然不行。

 

3.因爲每個服務都是一個exe應用程序,而對於數據庫這樣的服務,應該都是在註冊表中設置其路徑,後直接讀取的。所以我百度了下,監聽程序的註冊表相關,如下:

 

在運行處執行regedit進入註冊表到

開始 →運行→ regedit

按下面路徑

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleOraHome90TNSListener

找到OracleOraHomexxxTNSListener,檢查其ImagePath是否存在,如果存在,檢查其值(應爲字符串值)是否爲“你的Oracle安裝目錄\ora10(其他版本對應的是oraxxx目錄)\bin\tnslsnr”

 

 

 

檢查過後,發現ImagePath並沒有出錯

 

 

4.在絕望之際,無意發現了“lsnrctl”這個Oracle的命令,用於在Dos中啓動監聽服務,並給出提示信息;

 

開始 → 運行→ 輸入CMD→

 

C:>lsnrctl

LSNRCTL> start

 

 

 

如上圖所示,不知道你是否注意到一個很重要的地方;

 

 

 

HOST=192.168.1.100

 

 

 

此時,我才恍然大悟,馬上在cmd中繼續輸入命令>ipconfig,查看我的電腦的IP,發現我的ip是:192.168.1.5。。。。。。。

 

我想這時候大家都應該明白錯誤的原因了吧,因爲我的電腦IP設置爲自動獲取,所以每次重新連接貓,IP都會改變,此時,監聽服務當然會找不到目標主機,因爲主機作爲其監聽對象已經改變了其地址。

 

 

 

接下來的事,就不用我說了吧。。當然你可以改變自己電腦的Ip,也可以改變Oracle NETWORK 上的配置;

 

 

 

改變電腦IP 我就不說了,改變Oracle Network上的配置:

 

 

 

在你的Oracle安裝目錄中,如C:\oracle\product\10.2.0\db_1\network\ADMIN,下面有兩個文件tnsnames.ora 和 listener.ora,用文本文件打開,修改HOST後面的IP地址即可;

 

 

 

5.修改IP後,重新輸入

 

C:>lsnrctl

LSNRCTL> start

 

此時,提示監聽啓動成功:(顯示啓動監聽的一些提示信息)

 

 

 

 

檢查服務管理器,此時 監聽服務已啓動,Database Control中重新登入後,監聽也啓動了。。大功告成~~

 

 

 

本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/xmiay/archive/2010/11/09/5998665.aspx

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