home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a524 / 4.ddi / dbstart < prev    next >
Encoding:
Text File  |  1991-09-22  |  2.8 KB  |  108 lines

  1.  
  2. # $Header: dbstart.sh,v 6.3 89/05/08 17:56:18 mho Exp $ dbstart Copyr (c) 1987 Oracle
  3.  
  4. ###################################
  5. # usage: dbstart
  6. #
  7. # This script is used to start ORACLE from /etc/rc(.local).
  8. # It should ONLY be executed as part of the system boot procedure.
  9. #
  10. #####################################
  11.  
  12. trap 'exit' 1 2 3
  13. case $ORACLE_TRACE in
  14.     T)    set -x ;;
  15. esac
  16.     
  17. # Set path if path not set (if called from /etc/rc)
  18. case $PATH in
  19.     "")    PATH=/bin:/usr/bin:/etc
  20.     export PATH ;;
  21. esac
  22.  
  23. #
  24. # Loop for every entry in /etc/oratab file and and try to start
  25. # that ORACLE
  26. #
  27.  
  28. cat /etc/oratab | while read LINE
  29. do
  30.     case $LINE in
  31.     \#*)        ;;    #comment-line in /etc/oratab
  32.     *)
  33. #       Proceed only if third field is 'Y'.
  34.         if [ "`echo $LINE | awk -F: '{print $3}' -`" = "Y" ] ; then
  35.             ORACLE_SID=`echo $LINE | awk -F: '{print $1}' -`
  36.         if [ "$ORACLE_SID" = '*' ] ; then
  37.         ORACLE_SID=""
  38.         fi
  39. #           Called programs use same database ID
  40.             export ORACLE_SID
  41.             ORACLE_HOME=`echo $LINE | awk -F: '{print $2}' -`
  42. #           Called scripts use same home directory
  43.             export ORACLE_HOME
  44. #           Put $ORACLE_HOME/bin into PATH and export.
  45.             PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/etc ; export PATH
  46.  
  47.             PFILE=${ORACLE_HOME}/dbs/init${ORACLE_SID}.ora
  48.  
  49.     if [ -f $ORACLE_HOME/bin/sqldba ] ; then
  50.         CMDSTART="sqldba command=startup"
  51.         CMDSHUT="sqldba command=shutdown abort"
  52.     else
  53.         CMDSTART="ior w"
  54.         CMDSHUT="ior c"
  55.     fi
  56.  
  57.         if test  -f $ORACLE_HOME/dbs/sgadef${ORACLE_SID}.dbf  -o \
  58.              -f $ORACLE_HOME/dbs/sgadef${ORACLE_SID}.ora
  59.         then
  60.         STATUS="-1"
  61.         else
  62.         STATUS=1
  63.         fi
  64.         case $STATUS in
  65.                 1)  if [ -f $PFILE ] ; then
  66.                         if $CMDSTART ; then
  67.                 echo ""
  68.                     echo "Database \"${ORACLE_SID}\" warm started."
  69.             else
  70.                 echo ""
  71.                             echo "Database \"${ORACLE_SID}\" NOT started."
  72.                 fi
  73.                     else
  74.             echo ""
  75.                         echo "Can't find init file for Database \"${ORACLE_SID}\"."
  76.                         echo "Database \"${ORACLE_SID}\" NOT started."
  77.             fi
  78.                     ;;
  79.         -1) echo ""
  80.             echo "Database \"${ORACLE_SID}\" possibly left running when system went down (system crash?)."
  81.                     echo "Notify Database Administrator."
  82.             if $CMDSHUT ; then
  83.             if [ -f $PFILE ] ; then
  84.                 if $CMDSTART ; then
  85.                 echo ""
  86.                 echo "Database \"${ORACLE_SID}\" warm started."
  87.                 else
  88.                 echo ""
  89.                 echo "Database \"${ORACLE_SID}\" NOT started."
  90.                 fi
  91.             else
  92.                 echo ""
  93.                 echo "Can't find init file for Database \"${ORACLE_SID}\"."
  94.                 echo "Database \"${ORACLE_SID}\" NOT started."
  95.             fi
  96.             else
  97.             echo "Database \"${ORACLE_SID}\" NOT started."
  98.             fi
  99.             ;;
  100.             esac
  101.         fi
  102.     ;;
  103.     esac
  104. done
  105.