rman的每星期全备份/每日备份

RMAN script
create script. level0backup{
allocate channel d1 type disk;
allocate channel d2 type disk;
backup
incremental level 0
format '/oradata/oradata/rman/con_%d_%s_%p.bak'
tag = sunday_datafile
filesperset 5
(database include current controlfile);
sql 'alter system archive log current';
release channel d1;
release channel d2;}

create script. level2backup{
allocate channel d1 type disk;
allocate channel d2 type disk;
backup
incremental level 2 cumulative
format '/oradata/oradata/rman/con_%d_%s_%p.bak'
tag = every_datafile
filesperset 20
(database include current controlfile);
sql 'alter system archive log current';
release channel d1;
release channel d2;
execute script. archbackup;}

create script. archbackup{
allocate channel d2 type disk ;
backup
format '/oradata/oradata/rman/con_%s_%p_t%t_al.bak'
filesperset 20
archivelog all delete input;
release channel d2;
}

 

unix (compaq true64) shell script

1. rman_con_sunday.rcv
# backup on sunday.

run{execute script. level0backup;}
run{execute script. archbackup;}

2.rman_con_everyday.rcv
# backup on everyday.
run{execute script. level2backup;}

3. rman_sunday.sh
#run on sunday
#define file name
today=`date +"%C%y%m%d"`
export $today
cmdfile=/oradata/oradata/rman_script/rman_con_sunday.rcv
export $cmdfile
msglog=/oradata/oradata/rman_log/rman$today.log
export $msglog
target='target sys/sys '
export $target
rcvcat='catalog rman/rman@rman '
export $rcvcat
# run rman
rman $target $rcvcat cmdfile $cmdfile msglog=$msglog

4. rman_everyday.sh
#run on everyday
#define file name
today=`date +"%C%y%m%d"`
export $today
cmdfile=/oradata/oradata/rman_script/rman_con_everyday.rcv
export $cmdfile
msglog=/oradata/oradata/rman_log/rman$today.log
export $msglog
target='target sys/sys '
export $target
rcvcat='catalog rman/rman@rman '
export $rcvcat
# run rman
rman $target $rcvcat cmdfile $cmdfile msglog=$msglog

请使用浏览器的分享功能分享到微信等