home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a524 / 40.ddi / setup.ins < prev    next >
Encoding:
Text File  |  1980-01-08  |  6.0 KB  |  270 lines

  1. :
  2.  
  3. # $Header: setup.ins.pp,v 6.19 89/11/13 20:04:53 rafsarif Exp $ setup.ins 
  4.  
  5. #
  6. #  setup.ins
  7. #
  8. #  Centralized script for initializing enviromental variables for 
  9. #  Oracle installation scripts, and performing common routines. This script 
  10. #  is run in the beginning of all Oracle product installation scripts.
  11. #
  12.  
  13. #
  14. #  Display abort message on interupt.
  15. #
  16. trap 'echo " $MKTG_NAME Installation Aborted!"; exit' 1 2 3 15
  17.  
  18. #
  19. #  Allow verification/trace to be turned on and off.
  20. #  When verification is off, the default case, invoke sqlplus with the  
  21. #  -silent option.
  22. #
  23. case "$ORACLE_TRACE" in
  24.     "T")    set -x ;;
  25.     "*")    SILENT="-silent" ;;
  26. esac
  27.  
  28. #
  29. #  If LOG is not set, then send output to /dev/null.
  30. #
  31. case $LOG in
  32.     "")    LOG=/dev/null ;;
  33. esac
  34.  
  35. #
  36. # Determine how to suppress newline with echo command.
  37. #
  38. case ${N}$C in
  39.     "")    if echo "\c" | grep c >/dev/null 2>&1; then
  40.         N='-n'
  41.     else
  42.         C='\c'
  43.     fi ;;
  44. esac
  45.  
  46. #
  47. # Make sure ORACLE_HOME and INSTALL_HOME are set.
  48. #
  49. case $ORACLE_HOME in
  50.     "")    echo "ORACLE_HOME not set."
  51.     echo "Set and export ORACLE_HOME, then restart installation." | tee -a $LOG
  52.     exit 1 ;;
  53. esac
  54.  
  55. case $INSTALL_HOME in
  56.     "")    INSTALL_HOME="$ORACLE_HOME/install"
  57.     export INSTALL_HOME ;;
  58. esac
  59.  
  60. #
  61. # Determine wether to do an install or an update
  62. #
  63. case "$UPDATE" in 
  64.   "") echo "
  65.  
  66. Please designate whether this is a fresh install or an update:
  67.  
  68.     1   Fresh install of ORACLE from scratch.
  69.  
  70.     2   Update install of an existing ORACLE database.
  71.  
  72.     Q   Quit.
  73.  
  74.     "
  75.     while : ; do
  76.             echo $N "Enter 1, 2 or Q: $C"
  77.         DEFLT="1"; . $INSTALL_HOME/read.sh; ANS=$RDVAR
  78.         echo ""
  79.         case "$ANS" in
  80.         1) UPDATE=N ; break ;;
  81.         2) UPDATE=Y ; break ;;
  82.         q|Q)    echo "User requested abort." ; sync ; exit 0 ;;
  83.         esac
  84.     done
  85.     export UPDATE ;;
  86. esac
  87.  
  88. #
  89. # If oracle.key does not exist or product is not found, regenerate oracle.key
  90. #
  91. if [  "`grep :$product: $ORACLE_HOME/install/oracle.key 2> /dev/null`" = "" ] 
  92. then
  93.   cat $ORACLE_HOME/*/install/*.key | sort -n > $ORACLE_HOME/install/oracle.key
  94. fi
  95. SCRIPT=`grep :$product: $ORACLE_HOME/install/oracle.key| awk -F: '{print $4}'`
  96. script=`basename $SCRIPT`
  97.  
  98. #
  99. # Announce that script is running. Reset the trap if update is true.
  100. #
  101. echo "" | tee -a $LOG
  102. case $UPDATE in
  103.     Y)echo "Running $MKTG_NAME update ($script.install)..." | tee -a $LOG
  104.       trap 'echo " $MKTG_NAME Update Aborted!"; exit' 1 2 3 15 ;;
  105.     *)echo "Running $MKTG_NAME installation ($script.install)..." | tee -a $LOG
  106.      ;;
  107. esac
  108. echo ""
  109.  
  110. #
  111. #  Check that required variables are set. If they are not, prompt user.
  112. #
  113.  
  114. case $ORACLE_OWNER in
  115.     "") DEFLT="${USER-$LOGNAME}"
  116.     echo ""
  117.     echo "Enter the login name for the owner of this ORACLE database"
  118.     echo $N "or Q to quit. $C"
  119.     . $INSTALL_HOME/read.sh; ORACLE_OWNER=$RDVAR
  120.     case $ORACLE_OWNER in
  121.        q|Q) echo "User requested abort." ; sync ; exit 0 ;;
  122.        *) ;;
  123.     esac
  124.     echo ""
  125.         export ORACLE_OWNER  ;;
  126. esac
  127.  
  128. case $ORACLE_SID in
  129.     "") echo ""
  130.         echo $N "Enter string for ORACLE system identifier. $C"
  131.         DEFLT=$ORACLE_OWNER . $INSTALL_HOME/read.sh; ORACLE_SID=$RDVAR
  132.     case $ORACLE_SID in
  133.        q|Q) echo "User requested abort." ; sync ; exit 0 ;;
  134.        *) ;;
  135.     esac
  136.     echo ""
  137.         export ORACLE_SID ;;
  138. esac
  139.  
  140. #
  141. #  Ask the SYSTEM pasword for products that install tables in the database.
  142. #
  143. case $SYSTEM_PASS in
  144.     "")     case "$MKTG_NAME" in
  145.         SQL*Net*|PL\/SQL|Pro*|*Loader|*Report|*Calc|transaction*|TP1*) ;;
  146.         *)  echo ""
  147.                 echo $N "Enter current SYSTEM account password. $C"
  148.                 DEFLT="manager"
  149.                 . $INSTALL_HOME/read.sh; SYSTEM_PASS=$RDVAR
  150.         case $SYSTEM_PASS in
  151.            q|Q) echo "User requested abort." ; sync ; exit 0 ;;
  152.            *) ;;
  153.         esac
  154.                 SYSTEM_PASS="system/${SYSTEM_PASS}"
  155.         echo ""
  156.                 export SYSTEM_PASS ;;
  157.      esac ;;
  158. esac
  159.  
  160. case $LINK_PRODUCT in
  161.   "") case "$MKTG_NAME" in 
  162.     SQL*Net*|PL/SQL) ;;
  163.     *) echo ""
  164.        echo $N "Would you like to relink $MKTG_NAME executables? $C"
  165.        DEFLT="N" ;. $INSTALL_HOME/read.sh; ANS=$RDVAR
  166.           case "$ANS" in
  167.           n|N) LINK_PRODUCT=F ;;
  168.           q|Q) echo "User requested abort." ; sync ; exit 0 ;;
  169.           *) LINK_PRODUCT=T ;;
  170.        esac
  171.        echo ""
  172.        export LINK_PRODUCT ;;
  173.       esac ;;
  174. esac
  175.  
  176. #
  177. #  Is the script being run by a super user?
  178. #
  179. > /tmp/fil$$
  180. INAME=`ls -l /tmp/fil$$ | awk '{print $3}'`
  181. rm -f /tmp/fil$$
  182. case $INAME in
  183.     root)    SUPER_USER=TRUE ;;
  184.     *)        SUPER_USER=FALSE ;;
  185. esac
  186.  
  187. #
  188. #  Verify that the ORACLE database if running, for products that install
  189. #  tables in the database.
  190. #
  191. case "$MKTG_NAME" in 
  192.    SQL*Net*|PL\/SQL|"ORACLE RDBMS"|Pro*|*Loader|*Report|transaction*|TP1*) ;;
  193.    *) case "$DATABASE_UP" in
  194.        "") echo ""
  195.        echo "Checking that database is running..."| tee -a $LOG
  196.        echo ""
  197.        if [ ! -f $ORACLE_HOME/dbs/sgadef${ORACLE_SID}.dbf ] ; then
  198.               echo "RDBMS must be installed and running before proceeding with"
  199.           echo "$MKTG_NAME installation."
  200.           echo "Exiting $MKTG_NAME install."
  201.           exit 1
  202.        else
  203.           DATABASE_UP="T" ; export DATABASE_UP
  204.        fi ;;
  205.    esac ;;
  206. esac
  207.  
  208. #
  209. #  Move to the correct directory for this install.
  210. #
  211. cd $ORACLE_HOME/${product}
  212.  
  213. #
  214. #  Set up oracle file permissions.
  215. #
  216. echo ""
  217. echo "Setting correct $MKTG_NAME file protections..." | tee -a $LOG
  218. echo ""
  219.  
  220. #
  221. # Protect lib directory
  222. #
  223. if [ -d $ORACLE_HOME/${product}/lib ] ; then
  224.     cd $ORACLE_HOME/${product}/lib
  225.     chmod 755 . >> $LOG 2>&1
  226.     for i in `ls`;
  227.     do
  228.          if [ -f $i ]; then
  229.             chmod 644 $i >> $LOG 2>&1
  230.          fi
  231.     done
  232. fi
  233.  
  234. #
  235. # Protect admin directory
  236. #
  237. if [ -d $ORACLE_HOME/${product}/admin ] ; then
  238.     cd $ORACLE_HOME/${product}/admin
  239.     chmod 755 . >> $LOG 2>&1
  240.     for i in `ls`;
  241.     do
  242.          if [ -f $i ]; then
  243.             chmod go-w $i >> $LOG 2>&1
  244.          elif [ -d $i ]; then
  245.             chmod 755 $i >> $LOG 2>&1
  246.          fi
  247.     done
  248. fi
  249.  
  250. #
  251. # Protect demo directory
  252. #
  253. if [ -d $ORACLE_HOME/${product}/demo ] ; then
  254.     cd $ORACLE_HOME/${product}/demo
  255.     chmod 755 . >> $LOG 2>&1
  256.     chmod 644 * >> $LOG 2>&1
  257. fi
  258.  
  259. #
  260. # Protect help directory
  261. #
  262. if [ -d $ORACLE_HOME/${product}/help ] ; then
  263.     cd $ORACLE_HOME/${product}/help
  264.     chmod 750 . >> $LOG 2>&1
  265.     chmod 640 * >> $LOG 2>&1
  266. fi
  267.  
  268.