計劃任務執行rman備份

oracle備份目標:

1:每天晚上2點執行數據庫全備

2:備份集保留2份

server環境:

oracle: 11g2  64bit

centos: 5.8     64bit

以下爲腳本代碼:

rman腳本:

run{
 set backup copies 2;  
 指定備份集 爲2份 。要修改 備份策略 中冗餘份爲2份 
 backup device type disk format '/u01/t/1/1_%U.bak','/u01/t/2/2_%U.bak'
 database plus archivelog filesperset 20
 delete all input;
 指定數據庫全備(包括歸檔日誌,filesperset 20 表示歸檔日誌備份集中最多隻能包含20個歸檔日誌文件)
 並指定其路徑,備份完成後刪除已經備份的歸檔日誌文件
 }
allocate channel for maintenance device type disk;
爲crosscheck,delete操作指定專用通道
crosscheck backupset;
delete noprompt obsolete;
直接刪除過期備份,不用交互提醒


將該腳本保存爲:t.rman

編寫shell腳本:

#!/bin/sh
#this is backup database script
DATE=`/bin/date +%Y%m%d`
cd ~/shell
echo "$DATE ---- backup is begin..." >> /home/oracle/shell/backup_info.log
export ORACLE_SID=test
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export PATH=$ORACLE_HOME/bin:$PATH
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
必須加上oracle用戶的環境變量,下面的rman命令才能執行
rman target / @t.rman  >> /home/oracle/shell/backup_info.log
echo "$DATE ---- backup is over!!" >> /home/oracle/shell/backup_info.log


保存腳本爲 t.sh。

注意:

rman腳本和shell腳本需放在同一個目錄下

在oracle用戶下創建計劃任務:

crontab -e
0 2 ** * /bin/sh /home/oracle/shell/t.sh

此時 rman備份的計劃任務完成!!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章