RMAN--full--incr0--incr1三合一脚本(二)
ckup AS COMPRESSED BACKUPSET format '$RMAN_HOME/archlog/arch_full_%T_%d_%t_%s_%p.rbck' archivelog all delete input;
backup current controlfile format '$RMAN_HOME/ctlfile/ctl_%d_%T_%s_%p_%t.rbck';
crosscheck backup;
delete noprompt expired backup;
release channel c1;
release channel c2;
release channel c3;
release channel c4;
release channel c5;
}
exit;
EOF
echo "backup_full finish! check in :" ${RMANLOG} >> ${LOGFILE}
echo "backup_full end time:" `date +%Y-%m-%d_%H:%M:%S` >> ${LOGFILE}
echo "-------------------------------full_end-----------------------------------" >> ${LOGFILE}
#end of file
echo "Full backup complete,your backup are in $RMAN_HOME"
}
incr0() {
#-----------------------script env-----------------------
local LOGFILE=$RMAN_HOME/$datedir/log/dbbak.log
local LOGDATE=`date +%Y-%m-%d`
local RMANLOG=$RMAN_HOME/$datedir/log/incr0_${LOGDATE}.log
if [ ! -d ${RMAN_HOME} ];
then mkdir -p $RMAN_HOME
mkdir $RMAN_HOME/archlog
mkdir $RMAN_HOME/ctlfile
mkdir $RMAN_HOME/data
mkdir $RMAN_HOME/data/incr0
mkdir $RMAN_HOME/log
fi
if [ ! -f ${LOGFILE} ];
then touch ${LOGFILE}
fi
if [ ! -f ${RMANLOG} ];
then touch ${RMANLOG}
fi
#-------------start incr0 backup-----------------
echo "-------------------------Rman incr0 backup -------------------------" >> ${LOGFILE}
echo "backup_incr0 start time:" `date +%Y-%m-%d_%H:%M:%S` >> ${LOGFILE}
echo "----------------------Rman Database backup_incr0 ------------"`date +%Y-%m-%d_%H:%M:%S` >${RMANLOG}
$ORACLE_HOME/bin/rman target / <> ${RMANLOG}
run
{
delete noprompt obsolete;
crosscheck archivelog all;
delete noprompt expired archivelog all;
allocate channel c1 type disk MAXPIECESIZE 5g;
allocate channel c2 type disk MAXPIECESIZE 5g;
allocate channel c3 type disk MAXPIECESIZE 5g;
allocate channel c4 type disk MAXPIECESIZE 5g;
allocate channel c5 type disk MAXPIECESIZE 5g;
backup AS COMPRESSED BACKUPSET incremental level 0 database tag 'incr0backup' filesperset 3 format '$RMAN_HOME/data/incr0/db_full_%T_%d_%t_%s_%p.rbck' include current controlfile;
backup AS COMPRESSED BACKUPSET format '$RMAN_HOME/archlog/arch_full_%T_%d_%t_%s_%p.rbck' archivelog all delete input;
backup current controlfile format '$RMAN_HOME/ctlfile/ctl_%d_%T_%s_%p_%t.rbck';
crosscheck backup;
delete noprompt expired backup;
release channel c1;
release channel c2;
release channel c3;
release channel c4;
release channel c5;
}
exit;
EOF
echo "backup_incr0 finish! check in :" ${RMANLOG} >
> ${LOGFILE}
echo "backup_incr0 end time:" `date +%Y-%m-%d_%H:%M:%S` >> ${LOGFILE}
echo "-------------------------------incr0_end-----------------------------------" >> ${LOGFILE}
#end of file
echo "Incremental 0 backup complete,your backup are in $RMAN_HOME"
}
incr1() {
#-----------------------script env-----------------------
local LOGFILE=$RMAN_HOME/$datedir/log/dbbak.log
local LOGDATE=`date +%Y-%m-%d`
local RMANLOG=$RMAN_HOME/$datedir/log/incr1_${LOGDATE}.log
if [ ! -d ${RMAN_HOME} ];
then mkdir -p $RMAN_HOME
mkdir $RMAN_HOME/archlog
mkdir $RMAN_HOME/ctlfile
mkdir $RMAN_HOME/data
mkdir $RMAN_HOME/data/incr1
mkdir $RMAN_HOME/log
fi
if [ ! -f ${L