#!/bin/ksh
set -x
SID=$1
LOG=/operation/log/dbbackupFULL_$1_`date '+%Y%m%d'`.log
(
if [ "$1" = "" ]; then
echo "Usage: dbbackup.sh [ORACLE_SID]"
echo "e.g.: dbbackup.sh DB_NAME"
echo " Error" | /usr/bin/mutt -s "Error running `basename $0`" -- db_adm
exit 1
fi
ORA_USER=`ps -ef | grep $SID | grep pmon | grep -v grep | awk '{print $1}' | tail -1`
if [ `whoami` != $ORA_USER ]; then
echo "Please use Oracle user to execute this script"
echo " Error" | /usr/bin/mutt -s "Error running `basename $0`" -- db_adm
exit 1
fi
INS_CHK=`ps -ef | grep pmon | grep $SID | wc -l`
if [ $INS_CHK -eq 0 ]; then
echo "[ $(date "+%F %H:%M:%S") ] Database is not running"
echo " Error" | /usr/bin/mutt -s "Error running `basename $0`" -- db_adm
exit 1
fi
if [ $INS_CHK -eq 1 ]; then
ORACLE_SID=`ps -ef | grep pmon | grep -v grep | grep $SID | awk '{print $NF}' | sed -e 's/ora_pmon_//g'`
if [ -z "$ORACLE_SID" ]; then
echo "[ $(date "+%F %H:%M:%S") ] INVALID ORACLE_SID"
echo " Error" | /usr/bin/mutt -s "Error running `basename $0`" -- db_adm
exit 1
fi
export ORACLE_SID
PMON_PID=`pgrep -lf _pmon_"$ORACLE_SID" | awk '{print $1}'`
ORACLE_HOME=`sudo pwdx $PMON_PID | awk '{print $NF}' | sed 's/\/dbs//g'`
if [ -z "$ORACLE_HOME" ]; then
echo "[ $(date "+%F %H:%M:%S") ] INVALID ORACLE_HOME"
echo " Error" | /usr/bin/mutt -s "Error running `basename $0`" -- db_adm
exit 1
fi
export ORACLE_HOME
fi