背景
Oracle 9i 在 Windows 2000 上若透過安裝程式無法正常移除,或需徹底清除殘留以重新安裝,需手動清理登錄檔、服務、環境變數、檔案系統與開始功能表。以下為標準化完整卸載流程。
卸載步驟
1. 刪除登錄檔主鍵
執行 regedit.exe
依序展開並刪除以下機碼:
HKEY_LOCAL_MACHINE\SOFTWARE\Oracle
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Oracle* (所有 Oracle 開頭服務)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\Oracle*
注意:修改登錄檔前建議匯出備份,誤刪系統關鍵機碼可能導致作業系統不穩。
2. 移除 Oracle 服務 (若登錄刪除後仍殘留)
以系統管理員身分開啟命令提示字元,使用 `sc delete` 移除:
sc delete OracleServiceORCL
sc delete OracleOraHome92TNSListener
sc delete OracleOraHome92Agent
... (列出所有 Oracle 相關服務名稱)
3. 刪除安裝目錄與程式群組
- 刪除 `C:\Program Files\Oracle` (或自訂 `ORACLE_BASE` 目錄)。
- 刪除開始功能表 \ 程式集 \ Oracle 相關捷徑資料夾。
4. 清除環境變數
控制台 → 系統 → 進階 → 環境變數,檢查「系統變數」與「使用者變數」中移除:
- `ORACLE_HOME`、`ORACLE_SID`、`ORACLE_BASE`、`NLS_LANG`、`TNS_ADMIN` 等 Oracle 專屬變數。
- 從 `Path` 變數中移除 `%ORACLE_HOME%\bin` 等路徑。
5. 重新啟動系統
重開機釋放被鎖定的檔案與登錄檔控制代碼,確保後續刪除徹底。
6. 刪除剩餘資料檔與備份目錄 (視需求)
- 資料檔目錄 (如 `C:\Oracle\Oradata`)。
- 快閃回復區、備份目錄、匯出檔目錄。
- 若共享磁碟叢集環境,需在所有節點執行上述步驟。
驗證卸載乾淨度
- 確認 `services.msc` 中無 Oracle 服務。
- 確認 `regedit` 搜尋 "Oracle" 無殘留機碼 (排除其他軟體無關項目)。
- 命令列輸入 `sqlplus /nolog` 應提示找不到命令。
- 嘗試重新安裝 Oracle 9i 或更新版本,安裝程式不應偵測到舊實例。
常見殘留問題補充
- Oracle Universal Installer (OUI) 清單:`C:\Program Files\Oracle\Inventory` 目錄記錄安裝元資料,手動卸載後建議一併刪除。
- Microsoft 分散式交易協調器 (MSDTC):Oracle 使用 MSDTC,卸載後若無其他應用依賴,可考慮重置 MSDTC (`msdtc -uninstall` / `msdtc -install`)。
- ODBC 資料來源:ODBC 管理員中移除 Oracle ODBC Driver 的系統/使用者 DSN。
完成上述步驟即實現 Oracle 9i 在 Windows 2000 上的「完全卸載」。對於 Windows XP/2003 及更新版本,流程大同小異,唯登錄路徑與權限模型 (UAC) 略有差異。