首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle 資料庫徹底移除指南:服務、註冊表、檔案系統、環境變數零殘留清單

     編輯:Oracle 資料庫基礎

適用場景

  • OUI 卸載失敗或殘留導致重裝異常
  • 多版本共存需移除特定版本
  • 環境淨化、安全合規要求

第一階段:服務停止與 OUI 移除

  1. services.msc → 停止所有 Oracle*、OraWeb*、OraClrAgnt* 服務
  2. Oracle Universal Installer → 「卸載產品」 → 全選移除
  3. 若有 ASM/Grid Infrastructure:
    crsctl stop crs (Grid Home)
    localconfig delete (移除 CSS)
    oracle -delete -asmsid +ASM (移除 ASM)

第二階段:註冊表清理 (Regedit - 必先匯出備份)

路徑刪除目標
HKLM\SOFTWARE\ORACLE整個金鑰 (含所有 Home 子鍵)
HKLM\SYSTEM\CurrentControlSet\ServicesOracle*, OraWeb*, OraClrAgnt*
HKLM\SYSTEM\CurrentControlSet\Services\Eventlog\ApplicationOracle*
HKLM\SOFTWARE\ODBC\ODBCINST.INI除 Microsoft ODBC for Oracle 外含 Oracle 的金鑰
HKCR (HKEY_CLASSES_ROOT)Ora*, Oracle*, Orcl*, EnumOra*
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu\ProgramsOracle*

第三階段:環境變數與開始選單

  1. 系統屬性 → 進階 → 環境變數 → Path、CLASSPATH 移除 Oracle 路徑
  2. 刪除 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Oracle*
  3. 桌面捷徑、快速啟動列

第四階段:檔案系統 (重啟後執行)

  • %ORACLE_BASE% (預設 C:\app\oracle、D:\Oracle)
  • C:\Program Files\Oracle, C:\Program Files (x86)\Oracle
  • C:\Windows\ORACLE.INI, oradim*.INI, oraodbc.ini
  • %TEMP%, %TMP% Oracle 暫存檔

第五階段:ODBC 與事件日誌

  1. odbcad32.exe (32/64-bit) → 系統/使用者 DSN → 刪除 Oracle 開頭
  2. 事件檢視器 → Application → 篩選 Oracle* → 清除記錄

驗證清單

  • [ ] regedit 搜尋 "Oracle" 無結果 (排除非 Oracle 軟體)
  • [ ] services.msc 無 Oracle 服務
  • [ ] odbcad32 無 Oracle DSN
  • [ ] echo %PATH% 無 Oracle 路徑
  • [ ] 磁碟搜尋 ora*.dll, oci*.dll 僅剩系統共用項
  • [ ] 重新執行安裝程式,無「偵測到現有 Oracle Home」警告

PowerShell 自動化清理腳本 (管理員)

# 參考 116898 文章腳本,此處略

特殊情況處理

情況處理
DLL 刪除失敗 (被鎖定)重啟 → Process Explorer 找鎖定進程 → 解除鎖定 → 刪除
多版本共存,僅移除特定版本僅刪除對應 Home 的註冊表子鍵 (含 Home 名稱後綴)、目錄、服務
Grid Infrastructure (GI) 環境先移除 DB Home,再用 Grid Home 的 deinstall.sh/bat 移除 GI
RAC 叢集全節點執行上述步驟,最後執行 crsctl delete crs
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved