ORACLE 10G rman 备份脚本
#!/bin/bash
back_path="/10g/backup";
back_log="/10g/backup/log";
rman_name=“cisco”;
rman_pw="rman";
rman_log_name="rman";
rman_log_pass="cisco";
rman_sid=“zsh1”;
rman_bin=/opt/oracle/product/9.2.0.4/bin
date_w=`date+%w`;
case$date_w in
5)#指的是周五执行
$rman_binlog $back_log/level0_`date +%Y-%m-%d`.log <<EOF
connect target $rman_name/$rman_pw
run{
allocatechannel d1 type disk;
allocatechannel d2 type disk;
backupfull database format '$back_path/`date +%Y%m%d`_full_%d_%s_%p_%u.bak'
tag='full'include current controlfile;
sql 'alter system archive log current';
backuparchivelog all format '$back_path/`date +%Y%m%d`_archivelog_%d_%s_%p_%u.bak'delete all input;
releasechannel d2;
releasechannel d1;
}
crosscheckbackup;
deletenoprompt expired backup;
deletenoprompt obsolete;
exit
EOF
;;
#以上是完全备份
7) #指的是周日执行
$rman_binlog $back_log/level0_`date +%Y-%m-%d`.log <<EOF
connectcatalog $rman_log_name/$rman_log_pass
connecttarget $rman_name/$rman_pw
run{
allocatechannel d1 type disk;
allocatechannel d2 type disk;
backupincremental level 0 database format '$back_path/`date+%Y%m%d`_level0_%d_%s_%p_%u.bak'
tag='level0' include current controlfile;
sql'alter system archive log current';
backuparchivelog all format '$back_path/`date +%Y%m%d`_archivelog_%d_%s_%p_%u.bak'delete all input;
releasechannel d2;
releasechannel d1;
}
crosscheckbackup;
deletenoprompt expired backup;
deletenoprompt obsolete;
resynccatalog;
exit
EOF
;;
#以上是0级备份
3)#指的是周三执行
$rman_binlog $back_log/level1_`date +%Y-%m-%d`.log <<EOF
connectcatalog $rman_log_name/$rman_log_pass
connecttarget $rman_name/$rman_pw
run{
allocatechannel d1 type disk;
backupincremental level 1 format '$back_path/`date +%Y%m%d`_level1_%d_%s_%p_%u.bak'tag = 'level 1' database;
sql'alter system archive log current';
backuparchivelog all format '$back_path/`date +%Y%m%d`_archivelog_%d_%s_%p_%u.bak'delete all input;
releasechannel d1;
}
crosscheckbackup;
deletenoprompt expired backup;
deletenoprompt obsolete;
resynccatalog;
exit;
EOF
;;
#以上是1级备份
1|2|4|5|6) #指的是周一,二,四,五,六执行
$rman_binlog $back_log/level2_`date +%Y-%m-%d`.log <<EOF
connectcatalog $rman_log_name/$rman_log_pass
connecttarget $rman_name/$rman_pw
利用LINUX的crintab 进行执行!!
RMAN备份脚本及自动批处理(windows)
2010-02-09 00:05
RMAN备份脚本及自动批处理(windows) |