Sunday, September 9, 2018

rman_arch_backup.sh

rman_arch_backup.sh

#!/bin/ksh
# Author : Ready
# Description : This script will perform Archive backup
# Date : 30-Aug-2012
# Parameters :
#       1: Backup location
# If no parameters givenn bckup will be taken at
# /backup/rman_9f46//oracle
#############################################################
#set -x

export DB_NAME=`echo ${ORACLE_SID} | cut -c 1-8`
export DATE=`date '+%Y%m%d'`
export TARGET_CONNECT_STR=/
export LOG_DIR=${ORACLE_HOME}/rman_scripts/logs

if [ $# -gt 1 ]; then
   echo " Script Failed: Usage Error!"
   echo " Expected Usage: $0 backup_location "
   echo "                   OR                    "
   echo " Expected Usage: $0 "
   echo " backup_location -- Target location of the backup. "
   echo " If no parameters given, backup will be located at /backup/rman_9f46/${DB_NAME}/oracle "
   exit 1
elif [ $# -eq 1 ]; then
   export BKP_DIR=$1
else
   export BKP_DIR=/backup/rman_9f46/${DB_NAME}/oracle
fi


if [ -d ${LOG_DIR} ]; then
RMAN_ARCH_LOG_FILE=${LOG_DIR}/rman_${DB_NAME}_arch_${DATE}.log
else
mkdir -p ${ORACLE_HOME}/rman_scripts/logs
fi

pmon_count=`ps -ef|grep pmon|grep -c $ORACLE_SID`
if [ $pmon_count -eq 0 ]; then
        echo " Database is down"
        exit;
fi

mkdir -p ${BKP_DIR}/${DATE}/arch
chmod -R  770 ${BKP_DIR}/${DATE}
export bkparchdir=${BKP_DIR}/${DATE}/arch


CMD="
rman msglog ${RMAN_ARCH_LOG_FILE} append <connect target $TARGET_CONNECT_STR
crosscheck archivelog all;
RUN {

ALLOCATE CHANNEL ch00 TYPE DISK;
ALLOCATE CHANNEL ch01 TYPE DISK;
BACKUP
    FORMAT '${bkparchdir}/arch-s%s-p%p-t%t-arch'
    FILESPERSET 40
    TAG '${DB_NAME}'
    ARCHIVELOG
        ALL
        delete input
;

RELEASE CHANNEL ch00;
RELEASE CHANNEL ch01;

}
EOF
"

echo Script $0 > $RMAN_ARCH_LOG_FILE
echo ==== started on `date` ==== >> $RMAN_ARCH_LOG_FILE
echo >> $RMAN_ARCH_LOG_FILE


sh -c "$CMD" >> $RMAN_ARCH_LOG_FILE
RSTAT=$?

if [ "$RSTAT" = "0" ]
then
    LOGMSG="Backup completed successfully"

else
    LOGMSG=" Backup Failed with error."
fi

echo >> $RMAN_ARCH_LOG_FILE
echo Script $0 >> $RMAN_ARCH_LOG_FILE
echo ==== $LOGMSG on `date` ==== >> $RMAN_ARCH_LOG_FILE
echo "RMAN backup logfile $RMAN_ARCH_LOG_FILE"

4 comments:

  1. On your website valuable information is there,thanks for sharing .
    Oracle Apps DBA Training in Hyderabad

    ReplyDelete
  2. This comment has been removed by a blog administrator.

    ReplyDelete
  3. This comment has been removed by a blog administrator.

    ReplyDelete
  4. This comment has been removed by a blog administrator.

    ReplyDelete