Solved

Adding Logfile to RMAN Email function

Posted on 2009-04-13
2
1,722 Views
Last Modified: 2013-12-18
Listed below you will find my RMAN Shell script. I need to add the logfile results of this RMAN script to the email function whether it succeeds or fails. Any simple recommendations?


#!/bin/ksh
#----------------------------------------------
export ORACLE_HOME=/opt/u01/app/oracle/product/10.2.0/db_1
export ORACLE_SID=act1g
export PATH=$PATH:$ORACLE_HOME/bin
#----------------------------------------------
MAIL_LIST="jdoe@act1g.com"
#----------------------------------------------
rman nocatalog <<EOF
connect target sys/0racle10g@act1g
run {allocate channel oem_backup_disk1 type disk format '/opt/u08/orabkup/rman/full_bkup/act1g/full_bkp_%d_set%s_piece%p_%T
_%U';
BACKUP FULL
DATABASE PLUS ARCHIVELOG;
backup current controlfile format '/opt/u08/orabkup/rman/full_bkup/act1g/ctl_bkp_%s_%p';
backup spfile format '/opt/u08/orabkup/rman/full_bkup/act1g/sp_bkp_%s_%p';
crosscheck backup;
DELETE NOPROMPT OBSOLETE RECOVERY WINDOW OF 14 DAYS;
release channel oem_backup_disk1;
}
EOF
#
if [ $? -ne 0 ]; then
SUBJ="act1g RMAN Backup Failed"
TO=jdoe@act1g.com
(
cat << !
To : ${TO}
Subject : ${SUBJ}
Cc : ${CC}
!
cat << !
act1g Full RMAN Backup Failed. Please check backups.
!
#uuencode ${1} ${1}
!
) | /usr/lib/sendmail -v ${TO} ${CC}
EOF
#
else
SUBJ="act1g RMAN Backup Completed Successful"
TO=jdoe@act1g.com
(
cat << !
To : ${TO}
Subject : ${SUBJ}
Cc : ${CC}
!
cat << !
act1g Full RMAN Backup Completed Successfully.
!
#uuencode ${1} ${1}
!
) | /usr/lib/sendmail -v ${TO} ${CC}
fi
#----------------------------------------------
date
#----------------------------------------------
0
Comment
Question by:Omega002
2 Comments
 
LVL 16

Accepted Solution

by:
rolutola earned 250 total points
ID: 24135616
 You need to define RMANLOG variables to point to your a designated location on server.

  R.

# Check status of RMAN backup and email status

RMAN_EXIT=$?

#

case $RMAN_EXIT in

0)mail -s "SUCCESS" $MAIL_LIST<$RMANLOG

   ;;

*)mail -s "FAILURE with exit code: $RMAN_EXIT" $MAIL_LIST<$RMANLOG

  exit 1

   ;;

esac

Open in new window

0
 
LVL 4

Assisted Solution

by:dkaisla
dkaisla earned 250 total points
ID: 24145250
The way I do it, I put the rman script in another file then call it through the shell script. Here's my approach assuming your scripts are located in $SCRIPTS.

#!/bin/ksh

#----------------------------------------------

export ORACLE_HOME=/opt/u01/app/oracle/product/10.2.0/db_1

export ORACLE_SID=act1g

export PATH=$PATH:$ORACLE_HOME/bin
 

#### <added by dkaisla>

working_dir=/opt/u08/orabkup/rman/full_bkup/act1g/

SCRIPTS=/opt/u08/orabkup/rman/full_bkup/act1g/

export SCRIPTS 

BDATE=`date +%m%d%y`

LOG=$SCRIPTS/logs/$ORACLE_SID'_'$BDATE.log
 

cd $working_dir

#### </dkaisla>
 

#----------------------------------------------

MAIL_LIST="jdoe@act1g.com"

#----------------------------------------------
 

#### <added by dkaisla>

date|tee $LOG

rman target sys/0racle10g@act1g @$SCRIPTS/$ORACLE_SID'_Bkup.rman' |tee -a $LOG

date|tee -a $LOG
 

x=`grep -c 'RMAN-' $LOG`

if [ $x -eq 0 ]

then

	echo "BACKUP SUCCESSFUL"|tee -a $LOG

	mailx -s "BACKUP SUCCESSFUL" $MAIL_LIST <$LOG

else

	echo " "|tee -a $LOG

	echo " "|tee -a $LOG

	echo "ERROR(S) ENCOUNTERED DURING BACKUP"|tee -a $LOG

	echo " "|tee -a $LOG

	echo "BACKUP FAILED"|tee -a $LOG

	mailx -s "BACKUP FAILED" $MAIL_LIST <$LOG

fi

done

exit

#### </dkaisla>
 

#

#if [ $? -ne 0 ]; then

#SUBJ="act1g RMAN Backup Failed"

#TO=jdoe@act1g.com

#(

#cat << !

#To : ${TO}

#Subject : ${SUBJ}

#Cc : ${CC}

#!

#cat << !

#act1g Full RMAN Backup Failed. Please check backups.

#!

#uuencode ${1} ${1}

#!

#) | /usr/lib/sendmail -v ${TO} ${CC}

#EOF

#

#else

#SUBJ="act1g RMAN Backup Completed Successful"

#TO=jdoe@act1g.com

#(

#cat << !

#To : ${TO}

#Subject : ${SUBJ}

#Cc : ${CC}

#!

#cat << !

#act1g Full RMAN Backup Completed Successfully.

#!

##uuencode ${1} ${1}

#!

#) | /usr/lib/sendmail -v ${TO} ${CC}

#fi

#----------------------------------------------

#date

#----------------------------------------------

Open in new window

0

Featured Post

What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

Join & Write a Comment

Suggested Solutions

From implementing a password expiration date, to datatype conversions and file export options, these are some useful settings I've found in Jasper Server.
Get to know the ins and outs of building a web-based ERP system for your enterprise. Development timeline, technology, and costs outlined.
Via a live example show how to connect to RMAN, make basic configuration settings changes and then take a backup of a demo database
Video by: Steve
Using examples as well as descriptions, step through each of the common simple join types, explaining differences in syntax, differences in expected outputs and showing how the queries run along with the actual outputs based upon a simple set of dem…

746 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now