編寫各自對應的層級備份指令碼 rmanbklevel_0.sh rmanbklevel_1.sh rmanbklevel_2.sh
[Oracle@oracle11gR2 scripts]$ pwd
/u01/scripts
[oracle@oracle11gR2 scripts]$ ll
total 44
-rw-r--r--. 1 oracle oinstall 102 Jul 20 04:39 audit.sql
-rwxr-xr-x. 1 oracle oinstall 398 Jul 22 03:50 coldbak.sh
-rw-r--r--. 1 oracle oinstall 829 Jul 17 02:08 deadlock.sql
-rw-r--r--. 1 oracle oinstall 126 Jul 20 04:29 fail_count.sql
-rw-r--r--. 1 oracle oinstall 327 Jul 20 04:28 fail_user.sql
-rwxr-xr-x. 1 oracle oinstall 260 Jul 22 19:45 rmanbklevel_0.sh //0級備份要有可執行許可權x
-rwxr-xr-x. 1 oracle oinstall 260 Jul 22 19:46 rmanbklevel_1.sh //1級備份要有可執行許可權x
-rwxr-xr-x. 1 oracle oinstall 260 Jul 22 19:47 rmanbklevel_2.sh //2級備份要有可執行許可權x
-rw-r--r--. 1 oracle oinstall 116 Jul 20 00:44 spid.sql
-rw-r--r--. 1 oracle oinstall 143 Jul 17 04:59 undo.sql
-rwxr-xr-x. 1 oracle oinstall 613 Jul 22 15:00 userbak.sh
[oracle@oracle11gR2 scripts]$
[oracle@oracle11gR2 scripts]$ vi rmanbklevel_0.sh //0級備份指令碼
#!/bin/sh
export ORACLE_SID=orcl
rman log='/rmanbk/bakl0.log' append <<EOF
connect target /;
run{
allocate channel cha1 type disk;
backup
incremental level 0
format '/rmanbk/incremental_level0_%u_%T'
tag backup_inc0
database;
release channel cha1;
}
EOF
exit
[oracle@oracle11gR2 scripts]$ vi rmanbklevel_1.sh //1級備份指令碼
#!/bin/sh
export ORACLE_SID=orcl
rman log='/rmanbk/bakl1.log' append <<EOF
connect target /;
run{
allocate channel cha1 type disk;
backup
incremental level 1
format '/rmanbk/incremental_level1_%u_%T'
tag backup_inc1
database;
release channel cha1;
}
EOF
exit
[oracle@oracle11gR2 scripts]$ vi rmanbklevel_2.sh //2級備份指令碼
#!/bin/sh
export ORACLE_SID=orcl
rman log='/rmanbk/bakl2.log' append <<EOF
connect target /;
run{
allocate channel cha1 type disk;
backup
incremental level 2
format '/rmanbk/incremental_level2_%u_%T'
tag backup_inc2
database;
release channel cha1;
}
EOF
exit
在root身份下添加crontab任務計劃
[root@oracle11gR2 ~]# crontab -e
59 19 * * 0 su - oracle -c /u01/scripts/rmanbklevel_0.sh 每周日19點59分0級備份
59 19 * * 1 su - oracle -c /u01/scripts/rmanbklevel_2.sh 每周一19點59分2級備份
59 19 * * 2 su - oracle -c /u01/scripts/rmanbklevel_2.sh 每周二19點59分2級備份
59 19 * * 3 su - oracle -c /u01/scripts/rmanbklevel_1.sh 每周三19點59分1級備份
59 19 * * 4 su - oracle -c /u01/scripts/rmanbklevel_2.sh 每周四19點59分2級備份
59 19 * * 5 su - oracle -c /u01/scripts/rmanbklevel_2.sh 每周五19點59分2級備份
59 19 * * 6 su - oracle -c /u01/scripts/rmanbklevel_2.sh 每周六19點59分2級備份
儲存退出
[root@oracle11gR2 ~]# service crond restart //重啟任務計劃
Stopping crond: [ OK ]
Starting crond: [ OK ]
一周的RMAN自動備份任務完成
推薦閱讀:
Oracle基礎教程之通過RMAN複製資料庫
RMAN備份策略制定參考內容
RMAN備份學習筆記
OracleDatabase Backup加密 RMAN加密