首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Oracle 控制檔損壞緊急恢復:利用鏡像副本快速修復

     編輯:Oracle 資料庫相關知識

故障現象

  • 所有使用者無法登入,sqlplus user/pass 僅提示重新輸入帳號。
  • 重啟資料庫報錯:控制檔 control01.ctl 損壞。

恢復原則

Oracle 控制檔預設多路徑鏡像 (Multiplexing),若至少有一份完好,即可用其覆蓋損壞檔案。

標準恢復步驟

  1. 以 SYSDBA 登入:sqlplus / as sysdba
  2. 關閉資料庫:SHUTDOWN IMMEDIATE (若已掛起則 SHUTDOWN ABORT 再 STARTUP MOUNT 後 SHUTDOWN IMMEDIATE)
  3. 備份損壞檔:MV control01.ctl control01.ctl.bak
  4. 複製鏡像副本:CP control03.ctl control01.ctl (擇一完好副本)
  5. 啟動資料庫:STARTUP

關鍵點:必須在資料庫關閉狀態下替換控制檔,否則 OS 層面會提示「檔案被佔用無法覆蓋」。若所有控制檔皆損壞,需從備份還原或重建控制檔 (CREATE CONTROLFILE),難度較高。

預防建議

  • 控制檔至少 3 路徑鏡像,置於不同磁碟/儲存設備。
  • 定期驗證 V$CONTROLFILE.STATUS 全為有效。
  • 啟用控制檔自動備份:CONFIGURE CONTROLFILE AUTOBACKUP ON;
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved