Oracle監聽器服務不啟動的時候可采取以下措施予以解決:
一、連接主機字符串,提示沒有監聽器
SVRMGR> connect internal/oracle@orcl; ORA-12541: TNS:no listener SVRMGR>
二、運行監聽器,提示地址的協議專用組件指定不正確
在開始菜單運行中鍵入lsnrctl
LSNRCTL for 32-bit Windows: Version 9.0.1.1.1 - Production on 08-6月 -2006 14:31:53 Copyright (c) 1991, 2001, Oracle Corporation. All rights reserved. 歡迎來到LSNRCTL,請鍵入"help"以獲得信息。 LSNRCTL> status
連接至(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=robust)(PORT=1521)))
TNS-01103: 地址的協議專用組件指定不正確
TNS-12541: TNS:無監聽器
TNS-12560: TNS:協議適配器出現錯誤
TNS-00511: 無監聽器
32-bit Windows Error: 61: Unknown error
LSNRCTL> start 啟動tnslsnr:請稍候... Failed to start service, error 3. TNS-12536: TNS:可能會阻礙*作 TNS-12560: TNS:協議適配器出現錯誤 TNS-00506: *作可能阻塞 32-bit Windows Error: 997: Unknown error LSNRCTL>
三、在控制面板中啟動服務,出現以下錯誤
服務:在本地計算機 無法啟動 OracleOraHome91TNSListener 服務。
錯誤3:系統找不到指定的路徑
而且OracleOraHome91TNSListener服務的可執行文件的路徑是空的。
四、進入注冊表中修改ImagePath
在運行處執行REGEDIT進入注冊表到HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/OracleOraHome91TNSListener
發現ImagePath關鍵值沒有了,增加他,選擇可擴充字符串值,編輯字符串的數值數據為:D:/Oracle/Ora90/BIN/TNSLSNR
退出注冊表。
五、再去啟動服務,服務啟動正常
六、啟動監聽器
lsnrctl LSNRCTL for 32-bit Windows: Version 9.0.1.1.1 - Production on 08-6月 -2006 14:31:53 Copyright (c) 1991, 2001, Oracle Corporation. All rights reserved. 歡迎來到LSNRCTL,請鍵入"help"以獲得信息。 LSNRCTL> start TNS-01106: 使用名稱LISTENER的監聽器已經啟動 LSNRCTL> status 正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=64c5c4485765450)PORT=1521))) LISTENER 的 STATUS ------------------------ 別 名 LISTENER 版本 TNSLSNR for 32-bit Windows: Version 9.0.1.1.1 - Production 啟動日期 08-6月 -2006 09:04:19 正常運行時間 0 天 5 小時 30 分 56 秒 跟蹤級別 off 安全性 OFF SNMP OFF 監聽器參數文件 D:/oracle/ora90/network/admin/listener.ora 監聽器日志文件 D:/oracle/ora90/network/log/listener.log 監聽端點概要... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=64c5c4485765450) (PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=64c5c4485765450)(PORT=2484))) (DESCRIPTION=(ADDRESS=(PROTOCOL=nmp)(PIPENAME=//64C5C4485765450/pipe/ORAPIPE))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=//./pipe/1521ipc))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=//./pipe/EXTPROC0ipc))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.3)(PORT=8080))(PRESENTATION=http://admin)(SESSION=RAW)) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=192.168.1.3)(PORT=9090))(PRESENTATION=http://admin)(SESSION=RAW)) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.3)(PORT=2481))(PRESENTATION=GIOP)(SESSION=RAW)) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=192.168.1.3)(PORT=2482))(PRESENTATION=GIOP)(SESSION=RAW))
服務摘要:
服務 "MODOSE" 包含 1 個例程。
例程 "hzh", 狀態 READY, 包含此服務的 1 個處理程序...
服務 "PLSExtProc" 包含 1 個例程。
例程 "PLSExtProc", 狀態 UNKNOWN, 包含此服務的 1 個處理程序...
服務 "hzh" 包含 1 個例程。
例程 "hzh", 狀態 READY, 包含此服務的 3 個處理程序...
命令執行成功
LSNRCTL>
七、再去連接,測試成功
SVRMGR> connect internal/oracle@orcl; 連接成功。 SVRMGR>