if [ "$#" -ne 1 ]

then

echo "Usage: apps_control.ksh start|stop"

exit

fi

 

. ~/.ENVFILE

 

#export PAGER1="8007208398.0803232@pagenet.net"

#export DBA1="lb1088@stl.rural.usda.gov dm1175@stl.rural.usda.gov"

 

export PAGER1="gs1114@stl.rural.usda.gov"

export DBA1="gs1114@stl.rural.usda.gov"

 

#export USER

#export SYS_PSW

 

echo `date` Evaluating /etc/oratab for $1 of database ${SID}

 

more /etc/oratab | grep pfcs | grep db | cut -f1,3 -d':' | sed 's/^/=/g' | sed -e :a -e '$!N;s/\n=/ /;ta' -e 'P;D' | sed 's/=//g' | read YN2

 

for i in ${YN2}

do

 

echo $i | cut -f1 -d':' | read SID

echo $i | cut -f2 -d':' | read YN

 

echo ${SID}

echo ${YN}

 

if [[ -f /mnt/pfcs/${SID}/${SID}db/8.1.7/${SID}_`hostname`.env ]]

then

. /mnt/pfcs/${SID}/${SID}db/8.1.7/${SID}_`hostname`.env

else

. /mnt/pfcs/${SID}/${SID}db/8.1.7/${SID}.env

fi

 

ORACLE_HOME=/mnt/pfcs/${SID}/${SID}db/8.1.7

export ORACLE_HOME

echo $ORACLE_HOME

 

PATH=$ORACLE_HOME/bin:$PATH

export PATH

 

if [ "${YN}" = 'Y' ]

then

echo `date` Attempting to $1 database ${SID}

case $1

in

 start)

 echo "Start the listener for ${SID}"

 $ORACLE_HOME/bin/lsnrctl start ${SID}

 echo "Start the database for ${SID}"

 echo "startup;

       quit" | $ORACLE_HOME/bin/sqlplus  "/ as sysdba" >> /home/pfcscom/scripts/logs//DB_${SID}.log

        ;;

 stop)

 echo "Stop the listener for ${SID}"

 $ORACLE_HOME/bin/lsnrctl stop ${SID}

 echo "Stop the database for ${SID}"

 echo "shutdown immediate;

       quit" | $ORACLE_HOME/bin/sqlplus  "/ as sysdba" >> /home/pfcscom/scripts/logs//DB_${SID}.log

        ;;

esac

 

##  Wait for command to process

sleep 180

 

##  now check for results

case $1

in

 start)

    ps -ef | grep pmon_${SID} | grep -v 'grep' | grep ${SID} | grep -v APPS > /dev/null 2>&1

    if (( $? == 0 ))

    then

       echo `date` normal startup of $1 database

    else

       mailx -m -s "${SID} $1 ERROR! " $DBA1 $PAGER1 <  /home/pfcscom/scripts/error_start.txt

    fi

        ;;

 stop)

    ps -ef | grep pmon_${SID} | grep -v 'grep' | grep ${SID} | grep -v APPS > /dev/null 2>&1

    if (( $? == 0 ))

    then

       mailx -m -s "${SID} $1 ERROR! " $DBA1 $PAGER1 <  /home/pfcscom/scripts/error_shutdown.txt

    else

       echo `date` normal shutdown of $1 database

    fi

        ;;

esac

 

echo `date` Finished attempt to $1 database ${SID}

fi

done

exit