services.msc → 停止 OracleService*, Oracle*Listener, Oracle*Agent, Oracle*HTTP*
開始 → 程序 → Oracle - OraHome → Oracle Installation Products → Universal Installer
→ 選中所有產品 → 移除(Universal Installer 自身保留)
regedit → HKEY_LOCAL_MACHINE\SOFTWARE\Oracle → 右鍵刪除整個項
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Oracle* → 全刪除
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\Oracle* → 全刪除
系統屬性 → 高級 → 環境變數
→ 系統變量 PATH、CLASSPATH 移除所有 Oracle 路徑
→ 用戶變量同理
%ALLUSERSPROFILE%\Start Menu\Programs\Oracle*
%USERPROFILE%\Start Menu\Programs\Oracle*
桌面快捷方式
rd /s /q "C:\Program Files\Oracle"
rd /s /q "C:\Program Files (x86)\Oracle"
rd /s /q "C:\Oracle"
# 同步刪除 Windows 目錄下殘留 ini
del "C:\Windows\ORACLE.INI"
del "C:\Windows\oradim*.INI"
del "C:\Windows\oraodbc.ini"
notepad C:\Windows\WIN.INI → 刪除 [ORACLE] 區段
odbcad32.exe (32/64 位均需) → 系統 DSN / 用戶 DSN → 刪除 Oracle 相關
eventvwr.msc → Windows 日誌 → Application → 篩選來源 Oracle* → 清除
| Windows | Linux |
|---|---|
| services.msc | systemctl stop oracle-* / srvctl stop database -d ... |
| 註冊表 | /etc/oratab, /etc/oraInst.loc, /opt/ORCLfmap, /var/opt/oracle |
| Program Files | $ORACLE_HOME, $ORACLE_BASE |
| 環境變數 | /etc/profile.d/oracle.sh, ~/.bash_profile, /etc/environment |
| ODBC | /etc/odbcinst.ini, ~/.odbc.ini |
| 共享內存 | ipcs -m | grep oracle → ipcrm -m |
| Semaphore | ipcs -s | grep oracle → ipcrm -s |
Process Explorer (Sysinternals) → Find Handle → 搜索文件名 → Kill 持有進程。
# Windows
sc query type= service state= all | findstr /i oracle → 應無輸出
reg query HKLM\SOFTWARE\Oracle → 錯誤: 找不到
dir "C:\Oracle" "C:\Program Files\Oracle" → 找不到文件
# Linux
ps -ef | grep -i oracle → 僅 grep 進程本身
ls -ld $ORACLE_HOME $ORACLE_BASE → No such file
cat /etc/oratab → 空或無 oracle 行
ipcs -m -s | grep oracle → 無輸出
嚴格執行 13 步 + 驗證清單,實現**真正意義上的徹底卸載**,為下一次純淨安裝鋪平道路。