造成OracleOraDb10g_home1TNSListener服務無法啟動可能有三種情況:
1.listener.ora文件配置有錯誤導致無法啟動
2.相關環境變量沒設置好
3.刪除客戶端時導致服務端相關注冊表信息誤刪導致無法啟動
無法啟動彈出的信息框顯示信息:“本地計算機上的OracleOraDb10g_home1TNSListener服務啟動后停止。某些服務在未由其他服務或程序使用時將自動停止。”
因listener.ora文件配置有錯誤導致無法啟動的解決思路:檢查是否修改過計算機名,如果是HOST修改成電腦正確的計算機名;配置文件的HOST是否設置為動態IP,如果是修改成電腦的計算機名或127.0.0.1;直接修改listener.ora文件,或通過net Manager工具重新創建監聽。 下面是我個人listener.ora文件配置,可參考下:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = E:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = ORCL)
(ORACLE_HOME = E:\oracle\product\10.2.0\db_1)
(SID_NAME = ORCL)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = 自己的計算機名稱)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
)
如果通過上面步驟還是無法啟動,請檢查注冊表配置:
先運行regedit 啟動注冊表編輯器

在HKEY_LOCAL_MACHINE/SYSTEM/ControlSet002/下的Services和CurrentControlSet/Services下找到OracleOraDb10g_home1TNSListener項,查看是否存在ImagePath 項,如果沒有就創建一個,數值設置: 自己的安裝目錄\db_1\BIN\TNSLSNR;如果還是無法啟動,嘗試修改成:自己的安裝目錄\db_1\BIN\TNSLSNR.exe 試試,有些網友說是因這個設置的值后面有空格,沒加.exe引起的。 如圖:

如果通過上面還無法啟動OracleOraDb10g_home1TNSListener服務,我的建議是在允許的情況下重裝oracle ,做冷備份恢復數據庫。
本人就是因在公司的服務器里(原已經存在10g的服務端),安裝了一個11g的客戶端,然后要用它自帶的卸載工具卸載后,導致OracleOraDb10g_home1TNSListener服務異常無法啟動。然后折騰了一天還是啟動不了,然后才實施重新安裝oracle,因為公司有50g 的數據在那個服務器,沒方法才刪除oracle重新安裝,也就是在我卸載時才發現已經沒有oracle 產品卸載,才恍然大悟。

如果你oracle有數據庫,需要恢復,那你就要在重新安裝前做好相關準備,如備份好原數據庫文件,控件文件等,一般時存在 oracle\product\10.2.0\oradata
比如:你原來是安裝在E:\oracle, 先完美刪除oracle 后,把E:\oracle 修改成 E:\oracle_old; 然后重啟電腦后安裝oracle,路徑按照原來的安裝目錄去安裝,安裝成功后,把E:\oracle_old目錄下的\product\10.2.0\oradata的文件夾orcl 全部復制到新的安裝目錄,基本就實現冷備份恢復了。
以上所述是小編給大家介紹的OracleOraDb10g_home1TNSListener服務無法啟動的解決辦法,希望對大家有所幫助!
您可能感興趣的文章:- 修改計算機名或IP后Oracle10g服務無法啟動的解決方法
- oracle修改SGA后無法啟動問題分析及解決方法
- Oracle 12.2監聽無法啟動解決方法