Oracle 物理結構故障指控制檔、重做日誌檔、資料檔等實體檔案損壞導致的資料庫異常。故障可能源於硬體錯誤或人為誤操作。處理前必須先排除硬體問題,再依下列標準流程處理。
控制檔記錄資料庫名稱、字元集、資料檔/日誌檔路徑等關鍵中繼資料。遺失控制檔將導致資料庫無法啟動,屬嚴重故障。
SHUTDOWN IMMEDIATE;init.ora 確認所有控制檔路徑。STARTUP;SHUTDOWN IMMEDIATE;STARTUP MOUNT; 掛載資料庫,執行 ALTER DATABASE BACKUP CONTROLFILE TO TRACE NORESETLOGS; 產生重建腳本。alert_.log 定位 trace 檔,擷取 CREATE CONTROLFILE 區段並修正以反映最新資料庫結構 (新增/刪除資料檔、日誌檔等),存為 create_control.sql。SHUTDOWN ABORT;
STARTUP NOMOUNT;
@create_control.sql;
所有 DML 操作皆記錄於重做日誌。當前線上日誌損壞會導致資料庫異常終止;非當前日誌最終也會因切換而成為當前日誌,故同樣嚴重。本文假設每組僅一成員 (無多路徑)。
-- 資料庫可用時
SELECT * FROM V$LOGFILE;
SELECT * FROM V$LOG;
-- 資料庫已異常終止
STARTUP MOUNT;
SELECT * FROM V$LOGFILE;
SELECT * FROM V$LOG;
依 V$LOG.STATUS (CURRENT, ACTIVE, INACTIVE, UNUSED) 與 V$LOGFILE.STATUS 判斷損壞日誌組屬於哪種狀態,再依對應恢復策略處理 (清除日誌組、不完全恢復、OPEN RESETLOGS 等),詳見 Oracle 官方備份恢復指南。