#!/bin/bash
BACKUP_DATE=`date +%d`
TODAY=`date`
USER=`id|cut -d "(" -f2|cut -d ")" -f1`
echo "-----------------$TODAY-------------------">$RMAN_LOG_FILE
ORACLE_HOME=/u02/app/oracle
export ORACLE_HOME
RMAN=$ORACLE_HOME/bin/rman
export RMAN
ORACLE_SID=dw2
export ORACLE_SID
ORACLE_USER=oracle
export ORACLE_USER
echo "ORACLE_SID: $ORACLE_SID">>$RMAN_LOG_FILE
echo "ORACLE_HOME:$ORACLE_HOME">>$RMAN_LOG_FILE
echo "ORACLE_USER:$ORACLE_USER">>$RMAN_LOG_FILE
echo "==========================================">>$RMAN_LOG_FILE
echo "BACKUP DATABASE BEGIN......">>$RMAN_LOG_FILE
echo " ">>$RMAN_LOG_FILE
WEEK_DAILY=`date +%a`
case "$WEEK_DAILY" in
"Mon")
BAK_LEVEL=1
;;
"Tue")
BAK_LEVEL=1
;;
"Wed")
BAK_LEVEL=1
;;
"Thu")
BAK_LEVEL=1
;;
"Fri")
BAK_LEVEL=0
;;
"Sat")
BAK_LEVEL=1
;;
"Sun")
BAK_LEVEL=1
;;
"*")
BAK_LEVEL=error
esac
export BAK_LEVEL=$BAK_LEVEL
echo "Today is : $WEEK_DAILY incremental level= $BAK_LEVEL">>$RMAN_LOG_FILE
BAK_LEVEL=$BAK_LEVEL
export BAK_LEVEL
ORACLE_HOME=$ORACLE_HOME
export ORACLE_HOME
ORACLE_SID=$ORACLE_SID
export ORACLE_SID
$RMAN target / << EOF
run
{
sql 'alter system archive log current';
configure device type disk parallelism 4;
crosscheck archivelog all;
backup as compressed backupset incremental level= $BAK_LEVEL database format '+DATA/backup/rman_bak/%d_%T_%U.bak','/backupset/%d_%T_%U.bak' plus archivelog format '+DATA/dw/backupset/arch_%d_%T_%U.bak','/backupset/arch_%d_%T_%U.bak';
backup current controlfile format '+DATA/backup/rman_bak/ctl_%d_%T_%u.bak','/backupset/ctl_%d_%T_%u.bak';
backup spfile format '+DATA/backup/rman_bak/spf_%d_%T_%u.bak','/backupset/spf_%d_%T_%u.bak';
report obsolete;
delete noprompt obsolete;
crosscheck backup;
delete noprompt expired backup;
}
quit;
EOF
echo >> $RMAN_LOG_FILE
echo Script $0 >> $RMAN_LOG_FILE
echo ==== $LOGMSG on `date +%Y/%m/%d-%H:%M:%H` ==== >> $RMAN_LOG_FILE
BACKUP_DATE=`date +%d`
TODAY=`date`
USER=`id|cut -d "(" -f2|cut -d ")" -f1`
echo "-----------------$TODAY-------------------">$RMAN_LOG_FILE
ORACLE_HOME=/u02/app/oracle
export ORACLE_HOME
RMAN=$ORACLE_HOME/bin/rman
export RMAN
ORACLE_SID=dw2
export ORACLE_SID
ORACLE_USER=oracle
export ORACLE_USER
echo "ORACLE_SID: $ORACLE_SID">>$RMAN_LOG_FILE
echo "ORACLE_HOME:$ORACLE_HOME">>$RMAN_LOG_FILE
echo "ORACLE_USER:$ORACLE_USER">>$RMAN_LOG_FILE
echo "==========================================">>$RMAN_LOG_FILE
echo "BACKUP DATABASE BEGIN......">>$RMAN_LOG_FILE
echo " ">>$RMAN_LOG_FILE
WEEK_DAILY=`date +%a`
case "$WEEK_DAILY" in
"Mon")
BAK_LEVEL=1
;;
"Tue")
BAK_LEVEL=1
;;
"Wed")
BAK_LEVEL=1
;;
"Thu")
BAK_LEVEL=1
;;
"Fri")
BAK_LEVEL=0
;;
"Sat")
BAK_LEVEL=1
;;
"Sun")
BAK_LEVEL=1
;;
"*")
BAK_LEVEL=error
esac
export BAK_LEVEL=$BAK_LEVEL
echo "Today is : $WEEK_DAILY incremental level= $BAK_LEVEL">>$RMAN_LOG_FILE
BAK_LEVEL=$BAK_LEVEL
export BAK_LEVEL
ORACLE_HOME=$ORACLE_HOME
export ORACLE_HOME
ORACLE_SID=$ORACLE_SID
export ORACLE_SID
$RMAN target / << EOF
run
{
sql 'alter system archive log current';
configure device type disk parallelism 4;
crosscheck archivelog all;
backup as compressed backupset incremental level= $BAK_LEVEL database format '+DATA/backup/rman_bak/%d_%T_%U.bak','/backupset/%d_%T_%U.bak' plus archivelog format '+DATA/dw/backupset/arch_%d_%T_%U.bak','/backupset/arch_%d_%T_%U.bak';
backup current controlfile format '+DATA/backup/rman_bak/ctl_%d_%T_%u.bak','/backupset/ctl_%d_%T_%u.bak';
backup spfile format '+DATA/backup/rman_bak/spf_%d_%T_%u.bak','/backupset/spf_%d_%T_%u.bak';
report obsolete;
delete noprompt obsolete;
crosscheck backup;
delete noprompt expired backup;
}
quit;
EOF
echo >> $RMAN_LOG_FILE
echo Script $0 >> $RMAN_LOG_FILE
echo ==== $LOGMSG on `date +%Y/%m/%d-%H:%M:%H` ==== >> $RMAN_LOG_FILE