監聽問題出現錯誤時的配置:
|-錯誤一:oracle資料庫中的監聽服務經常會出現錯誤,註冊表在使用了最佳化軟體時被刪除了相關的服務項
監聽服務的註冊項:
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\OracleOraDb10g_home1TNSListener
在註冊表中查看此註冊選項:regedit
如果被最佳化後出現錯誤,一般都是ImagePath中的數值資料出現錯誤,此時只要修改資料即可:
ImagePath中的資料的路徑如下:只要把ImagePath中的數值資料改為所示的d:\oracle\product\10.1.0\db_1\BIN\TNSLSNR即可修複錯誤。
|-錯誤二:網路環境發生改變,網路環境的改變更多指的是電腦名稱的改變。網路環境發生改變之後,原始配置的網路就無法正常工作,此時必須手工的進行網路設定的修改。
下面修改電腦名稱觀察服務變化情況:【我的電腦】->【屬性】->【電腦名稱】->【更改主機名稱】
修改之後重啟電腦,之後啟動資料庫服務,發現OracleOraDb10g_home1TNSListener
服務無法再正常啟動了,即使表面上看是啟動了,一重新整理就會顯示:未啟動,說明沒有真正的啟動,因為之前修改了電腦名稱即網路環境發生了改變。欲修改此問題,必須修改網路設定檔tnsnames.ora和listener.ora,設定檔路徑:D:\oracle\product\10.1.0\db_1\NETWORK\ADMIN
開啟設定檔:listener.ora
# listener.ora Network Configuration File: d:\oracle\product\10.1.0\db_1\network\admin\listener.ora # Generated by Oracle configuration tools. SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = d:\oracle\product\10.1.0\db_1) (PROGRAM = extproc) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) ) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = taobao.114so.cn)(PORT = 1521)) ) ) ) |
將HOST 修改為電腦名稱即可。
開啟listener.ora設定檔,修改同上,即修改HOST值。
之後重啟資料庫服務,如果以上的配置還不能正常的訪問資料庫,則需要進行第二步操作,即進行資料庫名稱的註冊,操作如下:選擇【所有程式】- 【Oracle - OraDb10g_home1】-【 Configuration and Migration Tools】-【Net Manager】進入網路設定頁面:
可見,監聽位置為:
點擊添加資料庫: 全域資料庫名:mldn SID:MLDN 名稱應和之前的一樣。
此外,在Oracle中也提供了一個監聽狀態的檢查命令:LSNRCTL.EXE
D:\oracle\product\10.1.0\db_1\BIN\LSNRCTL.EXE