F:\Oracle\backup\儲存為 F:\Oracle\script\backup\db_fullbak_JSsbook.rman:
RUN {
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 14 DAYS;
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK
TO 'F:\Oracle\BACKUP\%F';
ALLOCATE CHANNEL C1 DEVICE TYPE DISK
FORMAT 'F:\Oracle\BACKUP\BAK_%U';
BACKUP DATABASE SKIP INACCESSIBLE
PLUS ARCHIVELOG FILESPERSET 20
DELETE ALL INPUT;
RELEASE CHANNEL C1;
}
ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE DISK;
CROSSCHECK BACKUPSET;
DELETE NOPROMPT OBSOLETE;
| 指令 | 用途 |
|---|---|
| CONFIGURE RETENTION POLICY | 設定 14 天復原視窗,過期備份標記為 OBSOLETE |
| CONTROLFILE AUTOBACKUP | 每次結構變更自動備份控制檔,災難復原關鍵 |
| BACKUP ... PLUS ARCHIVELOG | 資料庫全備同時備份歸檔,確保時間點復原完整性 |
| FILESPERSET 20 | 每個備份組最多 20 個檔案,平衡並行度與管理 |
| DELETE ALL INPUT | 歸檔備份成功後刪除來源歸檔,釋放 FRA 空間 |
| SKIP INACCESSIBLE | 跳過唯讀/離線表空間,避免備份失敗 |
| CROSSCHECK BACKUPSET | 同步備份目錄與控制檔/復原目錄記錄 |
| DELETE NOPROMPT OBSOLETE | 自動清除超過保留策略的備份 |
run_backup.bat@echo off
set ORACLE_SID=YOUR_SID
rman target / cmdfile=F:\Oracle\script\backup\db_fullbak_JSsbook.rman
log=F:\Oracle\log\backup_%date:~-4,4%%date:~-7,2%%date:~-10,2%.log
run_backup.batALLOCATE CHANNEL 提升速度RESTORE VALIDATE DATABASE 確保可還原自動化備份腳本是 DBA 從「手工作業」邁向「營運自動化」的關鍵一步。妥善規劃保留策略、監控日誌與定期演練還原,才能在災難發生時從容應對。