承接上篇,本文續述交易日誌如何解決資料庫鏡像模式選擇、資料一致性保障與時間點還原三大核心場景。
資料庫鏡像提供兩種執行模式:
DBA 應依企業對資料遺失容忍度與工作負載特性抉擇模式。
典型場景:銀行轉帳涉雙步驟(扣款、入帳)。若第一步成功、第二步失敗(如帳號錯誤),未回滾將導致資料不一致——款項扣減卻未真正轉入。
解決機制:應用程式發出 ROLLBACK 或資料庫引擎偵測錯誤時,利用交易日誌回滾未完成交易的修改。第二步失敗時發出 ROLLBACK,恢復第一步扣款操作,確保資料一致性。此模式在資料庫開發中極為常見。
場景:資料庫上午 11 點故障,最後完整備份為昨晚 12 點。僅用完整備份只能恢復至 12 點,中間 11 小時資料似無法挽回。
實則不然:所有修改均記錄於交易日誌。若日誌完好,DBA 可先還原完整備份至昨晚 12 點,再套用日誌還原至上午 11 點故障時刻,實現精準時間點恢復(Point-in-Time Recovery)。
交易日誌是高可用性架構(鏡像、日誌傳送)與資料完整性保障的基石,掌握其機制為 DBA 必修課。