RMAN全備份指令碼
目標:
1、備份指令碼每周天半夜3點自動執行。
2、資料庫全備份,同時備份控制檔案及歸檔記錄檔。
3、備份保留14天,到期自動刪除。
4、保留動作記錄備查。
(1)編寫RMAN批次檔:rman 自動備份指令碼(oraback0.sh)
run{
CONFIGURE RETENTION POLICY TO RECOVERY WINDOWN OF 14 DAYS;
COFNIGURE CONTROLFILE AUTOBACK ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/Oracle/oradata/backup/rmanback/%F';
ALLOCATE CHANNEL C1 DEVICE TYPE DISK FORMAT '/oracle/oradata/backup/rmanback/orabk0_%d_%T_%s';
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;
補充:
BACKUP SKIP 參數:
SKIP INACCESSIBLE :表示跳過不可讀的檔案。OFFLINE的檔案只要存在於磁碟上那就仍然可讀取,但是有的檔案已經被刪除或移動就不可讀了,加上這個參數就會跳過這些檔案。
SKIP OFFLINE:表示跳過OFFLINE資料檔案。
SKIP READONLY:表示跳過所在資料表空間為READONLY的資料檔案。
ALLOCATE CHANNLE FOR MAINTENACNE DEVICE TYPE DISK;是用來分配專用於CHANGE、DELETE、CROSSCHECK命令,不能包含在RUN塊中。
預設配置下CONFIGURE 已經配置了一個指定DISK的通道,因此也可以不執行 ALLOCATE CHANNLE FOR MAINTENACNE,另外oracle 也建議通過CONFIGURE
來配置通道。
(2)編寫執行指令碼run_rman_backup.sh
ORACLE_SID=test
ORACLE_BASE=/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.1.0/db_1
export ORACLE_SID ORACLE_BASE ORACLE_HOME
export ORA_NLS10=$ORACLE_HOME/nls/data
PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
export PATH
$ORACLE_HOME/bin/rman target / msglog=/backup/oraclebaklog/bak.log cmdfile=/backup/shell/oraback0.sh
(3)加入到執行計畫
crontab -e
00 03 * * 0 /backup/shell/run_rman_back.sh
注意:相應的目錄應該建立,對應的檔案應該放在相應的目錄下。
--------------------------------------推薦閱讀 --------------------------------------
RMAN 配置歸檔日誌刪除策略
Oracle基礎教程之通過RMAN複製資料庫
RMAN備份策略制定參考內容
RMAN備份學習筆記
OracleDatabase Backup加密 RMAN加密
--------------------------------------分割線 --------------------------------------