透過 Oracle Universal Installer (OUI) 解除安裝僅能移除程式檔案,登錄檔、服務、環境變數、啟動捷徑等殘留項目仍會保留,不僅佔用磁碟空間,更可能導致重新安裝失敗或系統效能下降。本文提供兩種完整移除方案,確保乾淨卸載。
services.msc。Oracle、OraWeb、TNSListener 開頭的服務。oracle.exe、tnslsnr.exe 等進程。開啟 regedit,依序刪除下列機碼(若存在):
HKEY_LOCAL_MACHINE\SOFTWARE\Oracle(整個機碼)HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI 下所有含 Oracle 的值(保留 Microsoft ODBC for Oracle)HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 下所有以 Oracle 或 OraWeb 開頭的機碼HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application 下以 Oracle 開頭的機碼HKEY_CLASSES_ROOT 下以 Ora、Oracle、Orcl、EnumOra 開頭的機碼注意: 修改登錄檔前請先匯出備份,誤刪可能導致系統不穩。
PATH、CLASSPATH,移除所有 Oracle 相關路徑。C:\Program Files\Oracle(或自訂安裝路徑)。ORACLE_BASE 目錄(預設 C:\app\username 或 D:\Oracle)。%TEMP%、C:\Windows\Temp 中 Oracle 相關暫存檔。完成上述步驟後,重新啟動電腦以釋放所有檔案鎖定與快取。
若曾配置 ASM,需先手動移除 CSS 服務:
C:\> localconfig delete
Step 1: stopping local CSS stack
Step 2: deleting OCR repository
successfully deleted local CSS setup
若報錯 failed to open the OCR subkey, err(1060) 表示未配置 ASM,可忽略。
C:\> oradim -DELETE -ASMSID +ASM
同方案一階段 2。
| 現象 | 原因與解決 |
|---|---|
| 無法刪除安裝資料夾 | 檔案被系統進程鎖定 → 重開機或使用 Process Explorer 找出鎖定進程結束。 |
| 重新安裝時檢測到舊家目錄 | 登錄檔 HKEY_LOCAL_MACHINE\SOFTWARE\Oracle\inst_loc 未清除 → 確認方案一階段 3 已刪除。 |
| 服務殘留無法刪除 | 使用 sc delete OracleServiceORCL 強制移除服務。 |
| 環境變數清除後仍生效 | 需重新開啟 CMD/PowerShell 視窗或重新登入才生效。 |
services.msc 無 Oracle 服務。regedit 搜尋 Oracle 無殘留機碼。cmd 執行 sqlplus /nolog 應提示「找不到命令」。建議:企業環境執行完整移除前,請先備份資料庫(RMAN/EXPDP)與參數檔,並通知相關應用團隊停機窗口。