RMAN (Recovery Manager) 是 Oracle 官方備份恢復工具,支援壓縮、區塊級增量、備份集分割、腳本化、壞塊偵測,遠勝傳統 OS 級物理備份。
-- 目錄資料庫
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 恢復實戰》。