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

RMAN 新手入門指南:備份集、映像複製、增量備份與腳本自動化

     編輯:Oracle 資料庫基礎

RMAN (Recovery Manager) 是 Oracle 官方備份恢復工具,支援壓縮、區塊級增量、備份集分割、腳本化、壞塊偵測,遠勝傳統 OS 級物理備份。

核心術語

  • 備份集:一次備份的邏輯容器,專有格式,含多個備份片。
  • 備份片:實體輸出檔案,大小受檔案系統限制。
  • 映像複製:逐位元複製資料檔/控制檔/日誌檔,不壓縮、僅限磁碟,可作增量備份基準(Level 0)。
  • 完全備份:僅備份已使用區塊(自動壓縮空白區塊)。
  • 增量備份:備份自上次同/較低層級備份後變更的區塊。注意:9i 起不建議使用,未來版本將移除。
  • 恢復目錄:獨立資料庫儲存 RMAN 中繼資料,避免目標庫控制檔損毀導致備份失效。

建立恢復目錄

-- 目錄資料庫
CREATE TABLESPACE rmants DATAFILE '.../rmants.ora' SIZE 20M;
CREATE USER rman IDENTIFIED BY rman DEFAULT TABLESPACE rmants QUOTA UNLIMITED ON rmants;
GRANT RECOVERY_CATALOG_OWNER TO rman;

-- RMAN 客戶端
rman catalog rman/rman@catalog_db
RMAN> CREATE CATALOG TABLESPACE rmants;

-- 註冊目標庫
rman target sys/pwd@target_db catalog rman/rman@catalog_db
RMAN> REGISTER DATABASE;

常用操作範例

-- 完整資料庫備份
RUN {
  ALLOCATE CHANNEL c1 TYPE DISK;
  BACKUP DATABASE FORMAT 'e:\dbbackup\db_%d_%s_%p.bck' FILESPERSET=2;
}

-- 資料檔映像複製
RUN {
  ALLOCATE CHANNEL c1 TYPE DISK;
  COPY DATAFILE '.../users01.dbf' TO 'e:\dbbackup\users01_cpy.dbf' TAG='daily_copy';
}

-- 查看備份/複製清單
LIST BACKUP;
LIST COPY OF DATAFILE '.../users01.dbf';

-- 建立與執行儲存腳本
CREATE SCRIPT full_backup {
  ALLOCATE CHANNEL c1 TYPE DISK;
  BACKUP DATABASE FORMAT 'e:\dbbackup\db_%d_%s_%p.bck' FILESPERSET=2;
}
RUN { EXECUTE SCRIPT full_backup; }

關鍵參數說明

  • FORMAT:%d DB名、%s 集合號、%p 片號。
  • FILESPERSET:每備份集包含檔案數,控制並行度與片大小。
  • SET LIMIT CHANNEL kbytes:限制通道最大輸出速率。

掌握上述基礎操作,即可建立自動化備份策略。進階恢復操作請參考《RMAN 恢復實戰》。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved