首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

Oracle RMAN 備份與恢復入門:自動化備份策略

     編輯:關於SqlServer

Oracle Recovery Manager (RMAN) 是 Oracle 官方提供的備份恢復工具,支援完整、增量、壓縮、加密備份,並可排程自動執行,解決 DBA 每日手動備份的負擔與風險。

備份類型比較

方式類型恢復能力特點
Export/Import邏輯備份物件級,至匯出時間點可跨版本遷移,無法時間點恢復
冷備份物理備份關閉時點簡單、需停機、檔案級複製
熱備份物理備份任意時間點 (需歸檔模式)不停機、配合歸檔日誌實現 PITR
RMAN物理備份任意時間點、區塊級恢復增量備份、區塊變更追蹤、腳本自動化

RMAN 核心優勢

  • 增量備份:僅備份自上次備份後變更的區塊,大幅縮短備份窗口。
  • 區塊變更追蹤:啟用後,RMAN 直接讀取追蹤檔判斷變更區塊,無需掃描整個資料檔。
  • 自動化排程:結合 DBMS_JOB 或 DBMS_SCHEDULER 定時執行備份腳本。
  • 目錄資料庫:集中管理多個目標資料庫的備份中繼資料,利於報表與保留策略。

基本 RMAN 腳本範例

RUN {
  ALLOCATE CHANNEL c1 DEVICE TYPE DISK FORMAT '/backup/%d_%T_%s_%p.bak';
  BACKUP INCREMENTAL LEVEL 1 DATABASE PLUS ARCHIVELOG;
  DELETE NOPROMPT OBSOLETE RECOVERY WINDOW OF 7 DAYS;
  RELEASE CHANNEL c1;
}

DBMS_JOB 定時執行

BEGIN
  DBMS_JOB.SUBMIT(
    job       => :jobno,
    what      => 'rman_backup_script;',
    next_date => SYSDATE + 1/24, -- 每小時
    interval  => 'SYSDATE + 1/24');
  COMMIT;
END;
/
-- 或使用 DBMS_SCHEDULER (10g+ 推薦)
BEGIN
  DBMS_SCHEDULER.CREATE_JOB(
    job_name        => 'DAILY_RMAN_BACKUP',
    job_type        => 'STORED_PROCEDURE',
    job_action      => 'rman_backup_script',
    start_date      => SYSTIMESTAMP,
    repeat_interval => 'FREQ=HOURLY',
    enabled         => TRUE);
END;
/

實務建議

  1. 生產環境務必啟用歸檔模式,配合 RMAN 熱備份達成 RPO 接近零。
  2. 定期演練恢復演練,驗證備份集完整性與恢復流程。
  3. 備份檔案異地備份(磁帶、雲端、遠端磁碟),防範單點災難。
  4. 監控 V$RMAN_STATUS、V$BACKUP_SET 確認備份成功與耗時。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved