RMAN備份必須在Oracle 的歸檔模式下才能進行
查看資料庫是否處于歸檔模式
archive log list
更改資料庫的歸檔模式
shutdown immediate
startup mount
alter database archivelog;
alter database open;
查看RMAN的備份環境
rman target/
show all;
啟動控制檔案自動備份
configure controlfile autobackup on;
show controlfile autobackup;
全庫備份
backup database;
查看備份資訊
list backup;
list backup summary;
編寫備份指令碼
0級全庫備份指令碼
vi BackupFull.sh
#Date 2014/4/6
export ORACLE_SID=orcl
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin:
rman target/ <<EOF_RMAN
run{
allocate channel c1 type disk;
backup incremental level 0 tag 'db0' format 'u01/app/oracle/Backup/db0_%d_%T_%s' database
include current controlfile;
delete nopromp obsolete;
release channel c1;
}
#end
1級增量備份
vi Incr1.sh
#Date 2014/4/6
export ORACLE_SID=orcl
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin:
rman target/ <<EOF_RMAN
run{
allocate channel c1 type disk;
backup incremental level 1 tag 'db1' format 'u01/app/oracle/Backup/db0_%d_%T_%s' database
include current controlfile;
delete nopromp obsolete;
release channel c1;
}
#end
chmod 755 BackupFull.sh
chmod 755 Incr1.sh
自動執行備份指令碼
crontab –e
0 1 * * 0 /u01/app/oracle/Backup/BackupFull.sh
>>/u01/app/oracle/Backup/BackupFull.log
0 1 * * 3 /u01/app/oracle/Backup/BackupFull.sh
>>/u01/app/oracle/Backup/BackupFull.log
30 1 * * 1-2 /u01/app/oracle/Backup/Incr1.sh
>>/u01/app/oracle/Backup/Incr1.log
30 1 * * 4-6 /u01/app/oracle/Backup/Incr1.sh
>>/u01/app/oracle/Backup/Incr1.log
Ps:周日和周三淩晨1點執行0級全庫備份,其餘天數1:30執行1級增量備份
查看crontab
crontab –l
推薦閱讀:
RMAN 配置歸檔日誌刪除策略
Oracle基礎教程之通過RMAN複製資料庫
RMAN備份策略制定參考內容
RMAN備份學習筆記
OracleDatabase Backup加密 RMAN加密