前言:7x24 業務不停機備份的基石
聯機備份要求數據庫運行於 ARCHIVELOG 模式,在業務持續寫入時完成備份。本文系統講解核心原理 (Redo/Archive/Checkpoint 協同)、切換步驟、Begin/End Backup 機制、腳本最佳實踐,並對比 DB2 UDB 機制。
一、 核心前提:ARCHIVELOG 模式
二、 聯機備份 vs 脫機備份 核心差異
| 維度 | 脫機備份 (Cold) | 聯機備份 (Hot) |
| 數據庫狀態 | SHUTDOWN | OPEN (ARCHIVELOG) |
| 備份單位 | 整個數據庫 | 表空間級 (部分或全部) |
| 所需文件 | 所有數據文件、控制文件、參數文件 | 數據文件、控制文件 (Redo/Archive 另備) |
| 一致性 | SCN 完全一致 | 需 Redo/Archive 前滾恢復一致性 |
| 業務影響 | 完全中斷 | 零中斷,極微小性能影響 |
三、 核心機制:Checkpoint SCN 與分塊變更追蹤
ALTER TABLESPACE ts BEGIN BACKUP →
- 該表空間所有數據文件文件頭凍結 Checkpoint SCN (Start SCN)
- 緩存中屬於該表空間的髒塊 首次修改時寫入完整塊映像到 Redo (非僅變更向量),導致 Redo 暴增
- 備份過程中:業務正常讀寫,Redo 正常產生並歸檔
ALTER TABLESPACE ts END BACKUP →
- 文件頭更新 Checkpoint SCN (End SCN)
- 恢復時:從 Start SCN 開始應用 Redo,至 End SCN 結束,實現塊級一致性
四、 實施標準流程
-- 1. 切換到 ARCHIVELOG (僅首次)
SHUTDOWN IMMEDIATE
STARTUP MOUNT
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;
ARCHIVE LOG LIST; -- 驗證
-- 2. 聯機備份腳本模板 (每個表空間串行)
-- 針對每個表空間 TS:
ALTER TABLESPACE TS BEGIN BACKUP;
! cp /u01/oradata/TS/*.dbf /backup/TS/ -- OS 複制/rman backup
ALTER TABLESPACE TS END BACKUP;
-- 3. 關鍵:備份控制文件 (結構變更後必備)
ALTER DATABASE BACKUP CONTROLFILE TO '/backup/control_YYYYMMDD.ctl';
-- 或 RMAN: BACKUP CURRENT CONTROLFILE;
-- 4. 歸檔日志備份 (同步/異步複製到異地)
! rsync -av /u01/arch/ /remote/arch/
! rsync -av /u02/arch/ /remote/arch2/
五、 關鍵最佳實踐
| 原則 | 執行要點 |
| 最小化 BEGIN/END 窗口 | OS 複制命令緊跟 BEGIN 後,END 緊隨複制完成,減少全塊日志量 |
| 避開業務高峰 | 雖可線上,但全塊日志增加 I/O,建議低峰期 |
| SYSTEM/UNDO 表空間優先 | 核心表空間備份失敗 = 整庫不可恢復 |
| 結構變更即備份控制文件 | ADD/DROP TABLESPACE、ALTER TABLE ADD COLUMN 等 |
| 多路復用歸檔 | LOG_ARCHIVE_DUPLEX_DEST 或 LOG_ARCHIVE_DEST_N 至少兩份不同存儲 |
六、 DB2 UDB 聯機備份機制對比 (拓展視野)
- 日志類型:Active Log (未提交/未刷盤) → Online Archive Log (已提交同目錄) → Offline Archive Log (移動異地)
- 關鍵參數:
LOGFILSIZ, LOGPRIMARY, LOGSECOND, NEWLOGPATH, MIRRORLOGPATH, OVERFLOWLOGPATH, USEREXIT, BLK_LOG_DSK_FUL
- 啟用歸檔:
UPDATE DB CFG USING LOGRETAIN ON (需重啟實例)
- 鏡像日志:
MIRRORLOGPATH 防單點故障,寫入失敗只報警不阻塞主路徑
- 恢復歷史文件 (RHF):每次備份/恢復/前滾/DDL 自動記錄,支持時間點恢復 (PITR)
七、 總結
聯機備份本質 = **凍結 Checkpoint SCN + 全塊日志記錄 + 歸檔日志保留 + 異地多副本**。掌握 BEGIN/END BACKUP 機制、控制文件備份節點、歸檔多路復用、腳本最小化窗口,即可構建 7x24 零數據損失備份體系。現代生產環境強烈建議使用 RMAN 替代 OS 複制,享受增量備份、塊變更追蹤、自動備份優化、恢復驗證等企業級特性。
- 上一篇文章: Oracle 外部過程實戰:配置 Listener/TNS、調用 COM 對象操作 Excel 完整指南
- 下一篇文章: Oracle 鎖機制三大層級深度解析:內部級、DDL 級、DML 級封鎖原理與實戰
Copyright ©
程式碼之家 All Rights Reserved