造成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服務無法啟動的解決辦法,希望對大家有所幫助!