>>Script Language and Platform: Oracle
This shell script is useful to startup a database when it must be running.
It checks the database status based on value of status (Y|N) in the
/etc/oratab file and send an e-mail to DBA when database has been restarted.
It works fine in Red Hat Linux boxes.
# Verifies status of the database and send a message to DBA
# in the case of database is running out.
# It works fine in Red Hat Linux boxes
# Date : 10/17/2003
# Author : Luis Claudio Rodrigues da Silveira
# Get oracle account
# Get home to find oracle binaries
ORACLE_HOME=`grep ^$USER: /etc/passwd | cut -d: -f6`
# put your e-mail here
export USER ORACLE_HOME DIRBIN ADDRESS MESSAGE
# retrieves the name of all oracle instances
for DB in `cat /etc/oratab | cut -f1 -d:`
# verified if database is opened or closed
STATUS=`cat /etc/oratab | grep $DB | cut -f3 -d:`
for ACTIVE in `ps -ef | grep ora_pmon | grep -v grep | cut -f3 -d”_”`
if [ “$DB” = “$ACTIVE” ]
if [ $OPEN -eq 0 -a “$STATUS” = “Y” ]
echo “Instance $DB must be running : it has been restarted on
`hostname`” >> $MESSAGE
$ORACLE_HOME/bin/sqlplus /nolog << ! connect / as sysdba startup exit ! fi done # do not send a empty message.. LINES=`cat $MESSAGE | wc -l` if [ $LINES -gt 0 ] then mailx -s "Script checkdb.sh" $ADDRESS << ! Data : `date` `echo` `cat $MESSAGE` ! fi touch $MESSAGE
Disclaimer: We hope that the information on these script pages is
valuable to you. Your use of the information contained in these pages,
however, is at your sole risk. All information on these pages is provided
“as -is”, without any warranty, whether express or implied, of its accuracy,
completeness, or fitness for a particular purpose…
Back to Database Journal Home