在 7×24 小時不間斷服務的業務場景(如線上商城、金融交易系統)中,Oracle 資料庫必須持續開放,傳統「離線備份」需停機的模式已不再適用。此時必須啟用 ARCHIVELOG 模式,配合聯機備份機制,在業務交易持續進行的同時完成資料保護。
所有交易變更(含未提交)先寫入 Redo Log Buffer,再由 LGWR 進程循環寫入線上重做日誌檔。為防止被覆寫,必須啟動 ARCH 進程將其歸檔為歸檔日誌。建議開啟 LOG_ARCHIVE_DUPLEX_DEST 參數實現多路歸檔(不同儲存裝置),消除單點故障風險。
init.ora 設定歸檔相關參數:LOG_ARCHIVE_START、LOG_ARCHIVE_DEST、LOG_ARCHIVE_FORMAT、LOG_ARCHIVE_DUPLEX_DEST、LOG_ARCHIVE_DEST_n。STARTUP MOUNT。ALTER DATABASE ARCHIVELOG。ALTER DATABASE OPEN。ARCHIVE LOG LIST)。ALTER SYSTEM ARCHIVE LOG ALL 歸檔所有現有日誌。啟動備份:ALTER TABLESPACE ts_name BEGIN BACKUP。此命令會對該表空間所有資料檔打上檢查點 SCN,將 Dirty Buffer 刷入磁碟,後續不再產生新檢查點 SCN。
結束備份:ALTER TABLESPACE ts_name END BACKUP。再次記錄檢查點 SCN,標記備份區間,供日後媒體恢復時判斷前滾終點。
BEGIN BACKUP 後立即執行存儲層快照,隨即 END BACKUP,將資料庫層面影響降至毫秒級。DB2 採用類似「時間點恢復」機制,核心在於三類日誌:活動日誌(未提交/未刷盤)、線上歸檔日誌(已提交並落盤,與活動日誌同目錄)、離線歸檔日誌(移至異地/磁帶)。關鍵配置參數包括 LOGFILSIZ、LOGPRIMARY、LOGSECOND、MIRRORLOGPATH(鏡像路徑防單點故障)、USEREXIT(自動歸檔觸發)等。啟用聯機備份需設定 LOGRETAIN=ON。