ORACLE DB 的學習者們

2017年9月4日 星期一

Online Redo Log Multiplexing and Recovery

Online redo log files 如果有 multiplex ,若不慎遺失同組內的其中一個檔案,資料庫不至於無法使用,也不會有資料遺失,但會有錯誤訊息。但若未將logfile做multiplex,則logfile的損壞可能對資料庫狀態及使用者資料都有損傷。

透過V$LOG 調查目前LOGFILE的狀況,有三個欄位特別重要:

GROUP : 顯示目前有幾個GROUP

ARCHIVED: YES表示,LOGFILE 寫入到 ARCHIVE LOGFILE

STATUS : CURRENT表示資料庫正在寫入使用此LOGFILE,INACTIVE表示已經寫入完成

透過V$LOGFILE看出,每個GROUP只有一個LOGFILE

先將每個GROUP 加入所要的LOGFILE

加入以後,要調整LOGFILE成兩兩成對的模式,要將多出來的LOGFILE刪除。刪除前,必須反覆地運用 alter system switch logfile 指令,強迫資料庫將CURRENT移動到其他 GROUP, 然後靜候GROUP 的狀態由CURRENT => ACTIVE => INACTIVE,才能對該成員LOGFILE做刪除的動作。

刪除的SQL並非會真正在作業系統中刪除該成員,而是在SQL執行完畢後,回到作業系統,以作業系統的指令刪除。