監聽服務中Oracle資料庫之中使用最主要的一個服務,但是這個服務經常會出現錯誤,包括以後在工作之中此服務也會出現錯誤,故給出兩種常見錯誤的解決方案(故障1、故障2)
故障1:
系統資料庫使用了優化軟體(如:360安全衛士等)被删除了相關項
對于每一個系統服務實際上都會在系統資料庫之中有所儲存;
<a href="http://beyondhdf.blog.51cto.com/attachment/201308/25/229452_1377400163hKO9.png"></a>
監聽服務的注冊項:HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\OracleOraDb10g_home1TNSListener 其下有一個“ImagePath”的選項,如果優化軟體删除了,則應重建立一個“ImagePath”選項,資料名稱為ImagePath且資料值資料為D:\oracle\product\10.1.0\db_1\BIN\TNSLSNR ,如下圖所示:
<a href="http://beyondhdf.blog.51cto.com/attachment/201308/25/229452_13774001643ZTu.png"></a>
故障2:網絡環境發生改變
修改計算機名後,監聽服務OracleOraDb10g_home1TNSListener不能啟動了,應如何排除?
<a href="http://beyondhdf.blog.51cto.com/attachment/201308/25/229452_1377400164bv6a.png"></a>
計算機名修改為:teacher ,如下圖所示:
<a href="http://beyondhdf.blog.51cto.com/attachment/201308/25/229452_1377400165g9bw.png"></a>
<a></a>
解決方法:
1-重新開機機器後,檢驗服務OracleServiceMLDN和OracleOraDb10g_home1TNSListener能否正常啟動?
前者能正常啟動,但後者啟動後,再重新整理,則顯示不能啟動!
2-進入D:\oracle\product\10.1.0\db_1\NETWORK\ADMIN目錄修改2個檔案(listener.ora、tnsnames.ora),如下圖所示:
<a href="http://beyondhdf.blog.51cto.com/attachment/201308/25/229452_1377400165CtmY.png"></a>
//将HOST = mldn-teacher 修改為HOST = teacher ,在listener.ora中
<a href="http://beyondhdf.blog.51cto.com/attachment/201308/25/229452_1377400166PoOP.png"></a>
//在tnsnames.ors中,将HOST = mldn-teacher 修改為HOST = teacher如下圖所示:
<a href="http://beyondhdf.blog.51cto.com/attachment/201308/25/229452_1377400166586O.png"></a>
備注:
到此為止,監聽程式能正常啟動!但是如果使用程式連接配接Oracle 10g的話,則以上的配置有可能還是不能正常通路資料庫!
3-我們進行資料庫名稱的注冊,如下圖所示:
<a href="http://beyondhdf.blog.51cto.com/attachment/201308/25/229452_1377400167SVHr.png"></a>
<a href="http://beyondhdf.blog.51cto.com/attachment/201308/25/229452_1377400168DS1X.png"></a>
//最後是 檔案-->儲存網絡配置-->OK!
//檢查監聽服務
<a href="http://beyondhdf.blog.51cto.com/attachment/201308/25/229452_13774001694uLm.png"></a>
二、Oracle為我們提供了一個監聽狀态的程式叫LSNRCTL.exe
<a href="http://beyondhdf.blog.51cto.com/attachment/201308/25/229452_1377400170Q1Ea.png"></a>
故障3:
ORA-12560:TNS:協定擴充卡錯誤
解決方法 (此種方法好象不太理想,請博友們指點哈,謝謝!)
造成ORA-12560: TNS: 協定擴充卡錯誤的問題的原因有三個:
1.監聽服務沒有起起來。windows平台個一如下操作:開始---程式---管理工具---服務,打開服務面闆,
啟動oraclehome92TNSlistener服務。
2.database instance沒有起起來。windows平台如下操作:開始---程式---管理工具---服務,打開服務
面闆,啟動oracleserviceXXXX,XXXX就是你的database SID.
啟動2個服務(OracleServiceMLDN和OracleOraDb10g_home1TNSListener)如下圖所示:
<a href="http://beyondhdf.blog.51cto.com/attachment/201308/25/229452_1377400170QU0f.png"></a>
一般至此,Oracle client通路應該正常了!
3.系統資料庫問題。regedit,然後進入HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0将該環境變量ORACLE_SID設定為XXXX,就是你的database SID.或者右幾我的電腦,屬性--進階--環境變量---系統變量--建立,變量名=oracle_sid,變量值=XXXX,就是你的database SID.或者進入sqlplus前,在command line下輸set oracle_sid=XXXX,就是你的database SID.
經過以上步驟,就可以解決問題。
本文轉自
beyondhedefang 51CTO部落格,原文連結:http://blog.51cto.com/beyondhdf/1282308 ,如需轉載請自行聯系原作者