Errors in file .../GZDBCONTROL_ora_32198.trc:
ORA-16038: log 5 sequence# 23 cannot be archived
ORA-00742: Log read detects lost write in thread %d sequence %d block %d
ORA-00312: online log 5 thread 1: '/u01/app/oracle/fast_recovery_area/.../o1_mf_5_d61ctj3y_.log'
USER (ospid: 32198): terminating the instance due to error 16038
資料庫因 REDO LOG 第 5 組「寫入丟失」導致無法歸檔,實例異常終止。
「寫入丟失」指作業系統/儲存層回報寫入成功,實際資料未落盤。三大常見來源:
SQL> ALTER SYSTEM DUMP LOGFILE
'/u01/app/oracle/fast_recovery_area/GZDBCONTROL/onlinelog/o1_mf_5_d61ctj3y_.log' VALIDATE;
輸出若再現 ORA-00742,確認發生「寫入丟失」。
SQL> ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP 5;
注意:UNARCHIVED 關鍵字表示強制清除未歸檔日誌,會導致該段 REDO 不可用於媒體恢復,但能讓資料庫啟動。
barrier/sync 設定。DB_BLOCK_CHECKSUM=FULL 讓 Oracle 讀取時驗證塊校驗和,儘早發現壞塊。REDO LOG「寫入丟失」屬嚴重硬體/基礎設施故障,CLEAR UNARCHIVED LOGFILE 為緊急繞過手段,核心在於事後徹底根因排查與完整備份重建,避免資料永久遺失風險。