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