Redo Log 損壞導致資料庫無法正常打開,V$LOG 顯示狀態為 INVALIDATED。
-- 1. 以 SYSDBA 登入
SQLPLUS / AS SYSDBA
-- 2. 查看日志組狀態
SELECT GROUP#, SEQUENCE#, ARCHIVED, STATUS FROM V$LOG;
-- 3. 嘗試清除損壞日志組 (假設損壞組為 1,2,3)
ALTER DATABASE CLEAR LOGFILE GROUP 1;
ALTER DATABASE CLEAR LOGFILE GROUP 2;
ALTER DATABASE CLEAR LOGFILE GROUP 3;
-- 4. 若報錯需指定 UNARCHIVED
ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP 1;
ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP 2;
ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP 3;
-- 5. 關庫重啟驗證
SHUTDOWN IMMEDIATE
STARTUP MOUNT
SELECT GROUP#, SEQUENCE#, ARCHIVED, STATUS FROM V$LOG;
-- 確認狀態恢復正常 (CURRENT/INACTIVE)
-- 6. 正常打開資料庫
ALTER DATABASE OPEN;
CLEAR LOGFILE 會重新初始化日志文件,若該組未歸檔需加 UNARCHIVED 強制清除V$LOG、V$LOGFILE 狀態