? ? 監聽服務中Oracle數據庫之中使用最主要的一個服務,但是這個服務經常會出現錯誤,包括以后在工作之中此服務也會出現錯誤,故給出兩種常見錯誤的解決方案(故障1、故障2)
故障1:
注冊表使用了優化軟件(如:360安全衛士等)被刪除了相關項
對于每一個系統服務實際上都會在注冊表之中有所保存;
監聽服務的注冊項:HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\OracleOraDb10g_home1TNSListener 其下有一個“ImagePath”的選項,如果優化軟件刪除了,則應重新建一個“ImagePath”選項,數據名稱為ImagePath且數據值數據為D:\oracle\product\10.1.0\db_1\BIN\TNSLSNR ,如下圖所示:
故障2:網絡環境發生改變
? ?修改計算機名后,監聽服務OracleOraDb10g_home1TNSListener不能啟動了,應如何排除?
計算機名修改為:teacher ,如下圖所示:
解決方法:
? ?1-重啟機器后,檢驗服務OracleServiceMLDN和OracleOraDb10g_home1TNSListener能否正常啟動?
前者能正常啟動,但后者啟動后,再刷新,則顯示不能啟動!
? ?2-進入D:\oracle\product\10.1.0\db_1\NETWORK\ADMIN目錄修改2個文件(listener.ora、tnsnames.ora),如下圖所示:
//將HOST = mldn-teacher 修改為HOST = teacher ,在listener.ora中
//在tnsnames.ors中,將HOST = mldn-teacher 修改為HOST = teacher如下圖所示:
備注:
到此為止,監聽程序能正常啟動!但是如果使用程序連接Oracle 10g的話,則以上的配置有可能還是不能正常訪問數據庫!
3-我們進行數據庫名稱的注冊,如下圖所示:
//最后是?文件-->保存網絡配置-->OK!
//檢查監聽服務
二、Oracle為我們提供了一個監聽狀態的程序叫LSNRCTL.exe
故障3:
ORA-12560:TNS:協議適配器錯誤
解決方法 (此種方法好象不太理想,請博友們指點哈,謝謝!)
造成ORA-12560: TNS: 協議適配器錯誤的問題的原因有三個: ??
1.監聽服務沒有起起來。windows平臺個一如下操作:開始---程序---管理工具---服務,打開服務面板, ? ?
啟動oraclehome92TNSlistener服務。 ? ?
2.database instance沒有起起來。windows平臺如下操作:開始---程序---管理工具---服務,打開服務 ? ?
面板,啟動oracleserviceXXXX,XXXX就是你的database SID.
啟動2個服務(OracleServiceMLDN和OracleOraDb10g_home1TNSListener)如下圖所示:
一般至此,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?,如需轉載請自行聯系原作者