造成OracleOraDb10g_home1TNSListener服務(wù)無(wú)法啟動(dòng)可能有三種情況:
1.listener.ora文件配置有錯(cuò)誤導(dǎo)致無(wú)法啟動(dòng)
2.相關(guān)環(huán)境變量沒(méi)設(shè)置好
3.刪除客戶(hù)端時(shí)導(dǎo)致服務(wù)端相關(guān)注冊(cè)表信息誤刪導(dǎo)致無(wú)法啟動(dòng)
無(wú)法啟動(dòng)彈出的信息框顯示信息:“本地計(jì)算機(jī)上的OracleOraDb10g_home1TNSListener服務(wù)啟動(dòng)后停止。某些服務(wù)在未由其他服務(wù)或程序使用時(shí)將自動(dòng)停止。”
因listener.ora文件配置有錯(cuò)誤導(dǎo)致無(wú)法啟動(dòng)的解決思路:檢查是否修改過(guò)計(jì)算機(jī)名,如果是HOST修改成電腦正確的計(jì)算機(jī)名;配置文件的HOST是否設(shè)置為動(dòng)態(tài)IP,如果是修改成電腦的計(jì)算機(jī)名或127.0.0.1;直接修改listener.ora文件,或通過(guò)net Manager工具重新創(chuàng)建監(jiān)聽(tīng)。 下面是我個(gè)人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 = 自己的計(jì)算機(jī)名稱(chēng))(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
)
如果通過(guò)上面步驟還是無(wú)法啟動(dòng),請(qǐng)檢查注冊(cè)表配置:
先運(yùn)行regedit 啟動(dòng)注冊(cè)表編輯器
![](/d/20211018/95d995a66041c8be37cd79917ba2f9ec.gif)
在HKEY_LOCAL_MACHINE/SYSTEM/ControlSet002/下的Services和CurrentControlSet/Services下找到OracleOraDb10g_home1TNSListener項(xiàng),查看是否存在ImagePath 項(xiàng),如果沒(méi)有就創(chuàng)建一個(gè),數(shù)值設(shè)置: 自己的安裝目錄\db_1\BIN\TNSLSNR;如果還是無(wú)法啟動(dòng),嘗試修改成:自己的安裝目錄\db_1\BIN\TNSLSNR.exe 試試,有些網(wǎng)友說(shuō)是因這個(gè)設(shè)置的值后面有空格,沒(méi)加.exe引起的。 如圖:
![](/d/20211018/69068b13c561003b3afe7d01d0267e92.gif)
如果通過(guò)上面還無(wú)法啟動(dòng)OracleOraDb10g_home1TNSListener服務(wù),我的建議是在允許的情況下重裝oracle ,做冷備份恢復(fù)數(shù)據(jù)庫(kù)。
本人就是因在公司的服務(wù)器里(原已經(jīng)存在10g的服務(wù)端),安裝了一個(gè)11g的客戶(hù)端,然后要用它自帶的卸載工具卸載后,導(dǎo)致OracleOraDb10g_home1TNSListener服務(wù)異常無(wú)法啟動(dòng)。然后折騰了一天還是啟動(dòng)不了,然后才實(shí)施重新安裝oracle,因?yàn)楣居?0g 的數(shù)據(jù)在那個(gè)服務(wù)器,沒(méi)方法才刪除oracle重新安裝,也就是在我卸載時(shí)才發(fā)現(xiàn)已經(jīng)沒(méi)有oracle 產(chǎn)品卸載,才恍然大悟。
![](/d/20211018/ceec92f0c127f1b6f93f50980e0f8d28.gif)
如果你oracle有數(shù)據(jù)庫(kù),需要恢復(fù),那你就要在重新安裝前做好相關(guān)準(zhǔn)備,如備份好原數(shù)據(jù)庫(kù)文件,控件文件等,一般時(shí)存在 oracle\product\10.2.0\oradata
比如:你原來(lái)是安裝在E:\oracle, 先完美刪除oracle 后,把E:\oracle 修改成 E:\oracle_old; 然后重啟電腦后安裝oracle,路徑按照原來(lái)的安裝目錄去安裝,安裝成功后,把E:\oracle_old目錄下的\product\10.2.0\oradata的文件夾orcl 全部復(fù)制到新的安裝目錄,基本就實(shí)現(xiàn)冷備份恢復(fù)了。
以上所述是小編給大家介紹的OracleOraDb10g_home1TNSListener服務(wù)無(wú)法啟動(dòng)的解決辦法,希望對(duì)大家有所幫助!
您可能感興趣的文章:- 修改計(jì)算機(jī)名或IP后Oracle10g服務(wù)無(wú)法啟動(dòng)的解決方法
- oracle修改SGA后無(wú)法啟動(dòng)問(wèn)題分析及解決方法
- Oracle 12.2監(jiān)聽(tīng)無(wú)法啟動(dòng)解決方法