home *** CD-ROM | disk | FTP | other *** search
-
- #
- # $Header: dbstart.sh,v 6.3 89/05/08 17:56:18 mho Exp $ dbstart Copyr (c) 1987 Oracle
- #
-
- ###################################
- #
- # usage: dbstart
- #
- # This script is used to start ORACLE from /etc/rc(.local).
- # It should ONLY be executed as part of the system boot procedure.
- #
- #####################################
-
- trap 'exit' 1 2 3
- case $ORACLE_TRACE in
- T) set -x ;;
- esac
-
- # Set path if path not set (if called from /etc/rc)
- case $PATH in
- "") PATH=/bin:/usr/bin:/etc
- export PATH ;;
- esac
-
- #
- # Loop for every entry in /etc/oratab file and and try to start
- # that ORACLE
- #
-
- cat /etc/oratab | while read LINE
- do
- case $LINE in
- \#*) ;; #comment-line in /etc/oratab
- *)
- # Proceed only if third field is 'Y'.
- if [ "`echo $LINE | awk -F: '{print $3}' -`" = "Y" ] ; then
- ORACLE_SID=`echo $LINE | awk -F: '{print $1}' -`
- if [ "$ORACLE_SID" = '*' ] ; then
- ORACLE_SID=""
- fi
- # Called programs use same database ID
- export ORACLE_SID
- ORACLE_HOME=`echo $LINE | awk -F: '{print $2}' -`
- # Called scripts use same home directory
- export ORACLE_HOME
- # Put $ORACLE_HOME/bin into PATH and export.
- PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/etc ; export PATH
-
- PFILE=${ORACLE_HOME}/dbs/init${ORACLE_SID}.ora
-
- if [ -f $ORACLE_HOME/bin/sqldba ] ; then
- CMDSTART="sqldba command=startup"
- CMDSHUT="sqldba command=shutdown abort"
- else
- CMDSTART="ior w"
- CMDSHUT="ior c"
- fi
-
- if test -f $ORACLE_HOME/dbs/sgadef${ORACLE_SID}.dbf -o \
- -f $ORACLE_HOME/dbs/sgadef${ORACLE_SID}.ora
- then
- STATUS="-1"
- else
- STATUS=1
- fi
- case $STATUS in
- 1) if [ -f $PFILE ] ; then
- if $CMDSTART ; then
- echo ""
- echo "Database \"${ORACLE_SID}\" warm started."
- else
- echo ""
- echo "Database \"${ORACLE_SID}\" NOT started."
- fi
- else
- echo ""
- echo "Can't find init file for Database \"${ORACLE_SID}\"."
- echo "Database \"${ORACLE_SID}\" NOT started."
- fi
- ;;
- -1) echo ""
- echo "Database \"${ORACLE_SID}\" possibly left running when system went down (system crash?)."
- echo "Notify Database Administrator."
- if $CMDSHUT ; then
- if [ -f $PFILE ] ; then
- if $CMDSTART ; then
- echo ""
- echo "Database \"${ORACLE_SID}\" warm started."
- else
- echo ""
- echo "Database \"${ORACLE_SID}\" NOT started."
- fi
- else
- echo ""
- echo "Can't find init file for Database \"${ORACLE_SID}\"."
- echo "Database \"${ORACLE_SID}\" NOT started."
- fi
- else
- echo "Database \"${ORACLE_SID}\" NOT started."
- fi
- ;;
- esac
- fi
- ;;
- esac
- done
-