錯誤現象
ORA-00214: control file 'C:\ORACLE\ORADATA\DB39\CONTROL01.CTL' version 262
'C:\ORACLE\ORADATA\DB39\CONTROL04.CTL' version 259
版本號不一致,啟動失敗。
觸發原因重現
- 資料庫關閉狀態下,**手動複製/新增** 控制檔 (如 CONTROL04.CTL)
- 使用 **SPFILE** 啟動 → 實例仍認定只有 3 個控制檔 (
SHOW PARAMETER control_files 顯示 3 個)
- 執行
ALTER SYSTEM SET control_files='...新增第4個...' → **先改參數、後建檔 (順序反了)**
- 關庫,再次用 SPFILE 啟動 → 實例讀取 4 個控制檔,但第 4 個版本號落後 → **ORA-00214**
修復步驟
- 刪除版本號舊的控制檔 (CONTROL04.CTL)
- 從現有 3 個控制檔任選一個,**複製並重命名** 為 CONTROL04.CTL
- 關閉資料庫,重新啟動 → **啟動成功**
核心教訓
- **控制檔增減必須:先建檔、後改參數**,或使用
ALTER DATABASE BACKUP CONTROLFILE TO TRACE 產生重建腳本
- SPFILE 參數與實體檔案**必須強一致**
- 遇啟動異常,**優先查看 alert.log 與 *.trc 追蹤檔**