>>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.
Author: Lums Claudio Rodrigues da Silveira
# 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
# do not send a empty message..
LINES=`cat $MESSAGE | wc -l`
if [ $LINES -gt 0 ]
mailx -s "Script checkdb.sh" $ADDRESS << !
Data : `date`
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