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

Oracle 徹底解除安裝與環境淨空標準作業程序 (SOP)

     編輯:Oracle 資料庫基礎

不完全的解除安裝會導致重裝失敗、服務衝突、註冊表膨脹。本文定義企業級 Oracle 解除安裝 SOP,涵蓋 Universal Installer 正規移除、註冊表多層清理、檔案系統淨空、環境變數重置、ODBC/事件日誌清理,確保「乾淨如初」狀態。

SOP 階段總覽

  1. 服務停用 →
  2. 軟體移除 (Universal Installer) →
  3. 註冊表深度清理 (SOFTWARE, Services, Eventlog, Enum\Root Legacy) →
  4. 環境變數清理 →
  5. 檔案系統清理 →
  6. 重開機驗證 →
  7. 殘留檔案二次清理

詳細執行步驟

Phase 1: 服務停用與禁用

services.msc
# 停止所有 Oracle* 服務
# 啟動類型 -> 已停用

Phase 2: Universal Installer 移除產品

  1. 開始 → 程式集 → Oracle - OraHome → Oracle Installation Products → Universal Installer。
  2. 按 **解除安裝產品** (Installed Products)。
  3. 全選所有 Oracle 產品 (資料庫、Client、ODP.NET、JDK 等) → **移除**。
  4. 保留 Universal Installer 本身 (若未來仍需安裝 Oracle 產品)。

Phase 3: 註冊表清理 (依序執行,建議先匯出備份)

層級路徑操作工具
1. Oracle 產品資訊HKLM\SOFTWARE\Oracle刪除整個 Oracle 節點regedit
2. 服務控制HKLM\SYSTEM\CurrentControlSet\Services搜尋 Oracle*,刪除所有相關鍵值regedit
3. 事件日誌來源HKLM\SYSTEM\CurrentControlSet\Services\Eventlog\Application刪除 Oracle 相關鍵值regedit
4. Legacy 驅動程式 (關鍵!)HKLM\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_Oracle*需提權刪除 (見下節)regedt32 (Win2003/XP) / regedit (Vista+)
5. 歷史 ControlSetHKLM\SYSTEM\ControlSet001\Enum\Root\LEGACY_Oracle*
HKLM\SYSTEM\ControlSet002\Enum\Root\LEGACY_Oracle*
同步清理同上

Legacy 鍵值權限突破 (Windows Server 2003 / XP / 2000)

  1. 執行 regedt32.exe (非 regedit)。
  2. 定位 HKLM\SYSTEM\CurrentControlSet\Enum\Root。
  3. 選單 **安全性** → **權限** → **新增** Administrators / 當前使用者 → **完全控制**。
  4. 對 ControlSet001、ControlSet002 同樣操作。
  5. 刪除所有 LEGACY_Oracle* 子鍵。

Windows Vista / 7 / 10 / 11 / Server 2008+

直接用 regedit:右鍵 LEGACY_Oracle* → **權限** → **進階** → **擁有者** 改為 Administrators → 勾選 **完全控制** → 確定 → 刪除。

Phase 4: 環境變數清理

  • 系統屬性 → 進階 → 環境變數。
  • 系統變數:編輯 PATH、CLASSPATH,移除所有 %ORACLE_HOME%、%ORACLE_HOME%\bin、C:\Oracle\... 路徑。
  • 使用者變數:刪除 ORACLE_SID、ORACLE_HOME、TNS_ADMIN、NLS_LANG 等 Oracle 專用變數。

Phase 5: 檔案系統清理

  1. 刪除安裝目錄:C:\Oracle、C:\Program Files\Oracle (若刪除失敗,見 Phase 7)。
  2. 刪除系統目錄殘檔:C:\Windows\Oracle.ini, oradim*.ini, oraodbc.ini。
  3. 檢查 C:\Windows\win.ini 是否有 [Oracle] 區段,刪除之。
  4. 桌面、開始功能表、啟動資料夾:移除所有 Oracle 捷徑/資料夾。

Phase 6: 重開機 (關鍵!)

**必須重開機** 以釋放檔案鎖定、完成服務移除、重置註冊表快取。

Phase 7: 重開機後二次清理

  • 再次嘗試刪除 Phase 5 中失敗的目錄/檔案 (通常已可刪除)。
  • ODBC 資料來源管理員 (odbcad32.exe 32/64 位) 移除所有 Oracle DSN。
  • 事件檢視器 → Windows 日誌 → Application/System,右鍵「清除日誌」或篩選 Oracle 來源刪除。

頑固檔案/DLL 終極對策

  1. Process Explorer (Sysinternals) → Find Handle → 輸入檔名 (如 oci.dll) → 關閉持有進程。
  2. 安全模式啟動 → 刪除。
  3. 安裝新版 Oracle 時指定 **全新路徑** (如 D:\Oracle\19c),舊路徑稍後以排程腳本 (如 sdelete) 強力刪除。

驗證清單 (重裝前必檢)

  • [ ] services.msc 無任何 Oracle* 服務。
  • [ ] regedit 搜尋 Oracle 僅剩應用程式自建項目 (非系統層)。
  • [ ] PATH 無 Oracle 路徑。
  • [ ] C:\Oracle, C:\Program Files\Oracle 不存在。
  • [ ] odbcad32.exe 無 Oracle DSN。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved