萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 資料庫 >> MySQL 教學

RMAN Catalog vs Nocatalog 模式深度解析:備份元數據存儲選型指南

核心差異一覽

維度NOCATALOG(控制檔)CATALOG(獨立恢復目錄)
元數據儲存位置目標庫控制檔獨立 Catalog 資料庫
保留歷史長度受 CONTROL_FILE_RECORD_KEEP_TIME 限制(預設 7 天)無限制,可保留年級歷史
控制檔體積膨脹明顯,頻繁備份導致控制檔增大不影響目標庫控制檔
災難恢復前置條件必須先以檔案級恢復控制檔,才能 STARTUP MOUNT可 STARTUP NOMOUNT 後 RESTORE CONTROLFILE FROM CATALOG
多資料庫集中管理不支援單一 Catalog 管理多目標庫
維護複雜度低(零額外元件)高(需建立/備份/監控 Catalog DB)

Catalog 模式建立完整步驟

  1. 建立 Catalog 表空間與用戶(於 Catalog DB 執行):
    CREATE TABLESPACE rman_ts DATAFILE '/u01/oradata/catalog/rmants.dbf' SIZE 200M AUTOEXTEND ON;
    CREATE USER rman IDENTIFIED BY rman DEFAULT TABLESPACE rman_ts QUOTA UNLIMITED ON rman_ts;
    GRANT RECOVERY_CATALOG_OWNER TO rman;
    
  2. 建立恢復目錄並註冊目標庫:
    rman target / catalog rman/rman@catalog_db
    RMAN> CREATE CATALOG TABLESPACE rman_ts;
    RMAN> REGISTER DATABASE;
    RMAN> EXIT;
    
  3. 日常備份連線語法:
    rman target / catalog rman/rman@catalog_db
    # 或腳本中
    RUN {
      ALLOCATE CHANNEL c1 DEVICE TYPE DISK;
      BACKUP DATABASE PLUS ARCHIVELOG;
      RELEASE CHANNEL c1;
    }
    

恢復流程對比

NOCATALOG 恢復(控制檔優先)

  1. 建立參數檔與目錄結構。
  2. 以 OS 指令恢復控制檔至 control_files 指定路徑。
  3. STARTUP MOUNT
  4. RMAN> RESTORE DATABASE; RECOVER DATABASE;
  5. ALTER DATABASE OPEN RESETLOGS;

CATALOG 恢復(更彈性)

  1. 建立參數檔與目錄結構。
  2. STARTUP NOMOUNT
  3. RMAN> RESTORE CONTROLFILE FROM CATALOG;
  4. ALTER DATABASE MOUNT;
  5. RMAN> RESTORE DATABASE; RECOVER DATABASE;
  6. ALTER DATABASE OPEN RESETLOGS;

NOCATALOG 關鍵參數調優

-- 延長控制檔記錄保留至 30 天
ALTER SYSTEM SET control_file_record_keep_time=30 SCOPE=BOTH;
-- 確認生效
SHOW PARAMETER control_file_record_keep_time;

同樣務必定期檔案級備份控制檔(BACKUP CURRENT CONTROLFILE 或 OS 複製)。

選型建議

  • 單庫、小規模、運維資源有限:NOCATALOG 足夠,配合控制檔備份策略。
  • 多庫集中管理、需長期保留備份元數據、災難恢復 RTO 嚴格:投入資源建立 CATALOG,長期收益大於成本。
  • 無論哪種模式,控制檔自動備份(CONFIGURE CONTROLFILE AUTOBACKUP ON)必須開啟。
copyright © 萬盛學電腦網 all rights reserved