Windows 服務管理器中 Oracle 服務全部消失,通常因注冊表損毀或誤刪。本文提供跨機器匯出/匯入注冊表修復標準流程,含 SID 與路徑修正關鍵步驟。
Oracle* 服務net start OracleServiceORCL 提示「找不到服務名」
regedit → HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services
右鍵匯出以下項目(另存為 .reg):
OracleDBConsole
OracleJobScheduler
OracleiSQL*Plus
OracleTNSListener
OracleService
將 .reg 檔複製到故障機器,雙擊匯入(或 regedit /s file.reg 靜默匯入)
使用 regedit 逐一修正以下項目:
| 注冊表路徑 | 關鍵值 | 修正內容 |
|---|---|---|
| ...\OracleService | ImagePath | 指向正確 ORACLE_HOME\bin\oracle.exe |
| ...\Oracle | ImagePath | 指向 ORACLE_HOME\bin\tnslsnr.exe |
| ...\OracleDBConsole | Environment | 修正 ORACLE_HOME、ORACLE_SID、PATH |
| 所有 Oracle 服務 | ObjectName | 通常為 LocalSystem 或指定服務帳號 |
shutdown /r /t 0
net start OracleServiceORCL
net start OracleTNSListener
tnsping ORCL
sqlplus / as sysdba
HKLM\SYSTEM\ControlSet001\Services\Oracle* 到版控系統
# 以管理員身分執行
setup.exe -ignoreSysPrereqs -silent -responseFile repair.rsp
# repair.rsp 含 INVENTORY_LOCATION, ORACLE_HOME, ACTION=REPAIR