My boss wants me to make a script to startup/shutdown our Oracle applications automatically when the Solaris server is rebooted. I made a script /etc/init.d/oracle.sh, created a link in /etc/rc3.d and tested it. Which is interesting is, it works fine if I run it manually, but doesn't when the server is rebooted. Below is the script, could any experienced guy take a look at it? I appreciate it.
#!/bin/sh
case "$1" in
'start')
######## Start the web servers ##################################################
ORACLE_SID=PBSPROD
export ORACLE_SID
APPL_TOP=/erp01/app/applmgr/PBSPROD
export APPL_TOP
ORACLE_HOME=/erp00/app/oracle/product/8.0.6
export ORACLE_HOME
PATH=$PATH:$ORACLE_HOME/ows/3.0/bin:$ORACLE_HOME/bin:$ORACLE_HOME/utils:/var/opt/applmgr
export PATH
SHLIB_PATH=$ORACLE_HOME/lib:/usr/lib
export SHLIB_PATH
TNS_ADMIN=/erp00/app/oracle/product/8.0.6/network/admin
export TNS_ADMIN
. $APPL_TOP/$ORACLE_SID.env
. /var/opt/oracle/userenv PBSPROD
su oracle -c "/erp00/app/oracle/product/8.0.6/ows/3.0/bin/owsctl start wrb"
su oracle -c "/erp00/app/oracle/product/8.0.6/ows/3.0/bin/owsctl start admin"
su oracle -c "/erp00/app/oracle/product/8.0.6/ows/3.0/bin/owsctl start www"
su oracle -c "/erp00/app/oracle/product/8.0.6/ows/3.0/bin/owsctl start PROD"
######### Start the form servers #############################################
ORACLE_SID=PBSPROD
export ORACLE_SID
. /var/opt/oracle/userenv PBSPROD
HOME=/export/home/applmgr
export HOME
su applmgr -c "f45ctl start port=9000 pool=0 log=$HOME/log/PBSPROD_fs.9000.log"
;;
'stop')
####### Stop the form servers ##############################################
ORACLE_SID=PBSPROD
export ORACLE_SID
. /var/opt/oracle/userenv PBSPROD
su applmgr -c "f45ctl stop port=9000"
######## Stop the web server ##############################################
ORACLE_SID=PBSPROD
export ORACLE_SID
APPL_TOP=/erp01/app/applmgr/PBSPROD
export APPL_TOP
ORACLE_HOME=/erp00/app/oracle/product/8.0.6
export ORACLE_HOME
PATH=$PATH:$ORACLE_HOME/ows/3.0/bin:$ORACLE_HOME/bin:$ORACLE_HOME/utils:/var/opt/applmgr
export PATH
SHLIB_PATH=$ORACLE_HOME/lib:/usr/lib
export SHLIB_PATH
TNS_ADMIN=/erp00/app/oracle/product/8.0.6/network/admin
export TNS_ADMIN
. $APPL_TOP/$ORACLE_SID.env
/erp00/app/oracle/product/8.0.6/ows/3.0/bin/owsctl stop USR
ORACLE_SID=PBSPROD
export ORACLE_SID
. /var/opt/oracle/userenv PBSPROD
su oracle -c "/erp00/app/oracle/product/8.0.6/ows/3.0/bin/owsctl stop PROD"
su oracle -c "/erp00/app/oracle/product/8.0.6/ows/3.0/bin/owsctl stop admin"
su oracle -c "/erp00/app/oracle/product/8.0.6/ows/3.0/bin/owsctl stop www"
su oracle -c "/erp00/app/oracle/product/8.0.6/ows/3.0/bin/owsctl stop wrb"
#### It takes three minutes for oraweb processes to cleanly shut down. View with ps -ef"
;;
*)
echo "Usage: /etc/init.d/oracle { start | stop }"
;;
esac
#!/bin/sh
case "$1" in
'start')
######## Start the web servers ##################################################
ORACLE_SID=PBSPROD
export ORACLE_SID
APPL_TOP=/erp01/app/applmgr/PBSPROD
export APPL_TOP
ORACLE_HOME=/erp00/app/oracle/product/8.0.6
export ORACLE_HOME
PATH=$PATH:$ORACLE_HOME/ows/3.0/bin:$ORACLE_HOME/bin:$ORACLE_HOME/utils:/var/opt/applmgr
export PATH
SHLIB_PATH=$ORACLE_HOME/lib:/usr/lib
export SHLIB_PATH
TNS_ADMIN=/erp00/app/oracle/product/8.0.6/network/admin
export TNS_ADMIN
. $APPL_TOP/$ORACLE_SID.env
. /var/opt/oracle/userenv PBSPROD
su oracle -c "/erp00/app/oracle/product/8.0.6/ows/3.0/bin/owsctl start wrb"
su oracle -c "/erp00/app/oracle/product/8.0.6/ows/3.0/bin/owsctl start admin"
su oracle -c "/erp00/app/oracle/product/8.0.6/ows/3.0/bin/owsctl start www"
su oracle -c "/erp00/app/oracle/product/8.0.6/ows/3.0/bin/owsctl start PROD"
######### Start the form servers #############################################
ORACLE_SID=PBSPROD
export ORACLE_SID
. /var/opt/oracle/userenv PBSPROD
HOME=/export/home/applmgr
export HOME
su applmgr -c "f45ctl start port=9000 pool=0 log=$HOME/log/PBSPROD_fs.9000.log"
;;
'stop')
####### Stop the form servers ##############################################
ORACLE_SID=PBSPROD
export ORACLE_SID
. /var/opt/oracle/userenv PBSPROD
su applmgr -c "f45ctl stop port=9000"
######## Stop the web server ##############################################
ORACLE_SID=PBSPROD
export ORACLE_SID
APPL_TOP=/erp01/app/applmgr/PBSPROD
export APPL_TOP
ORACLE_HOME=/erp00/app/oracle/product/8.0.6
export ORACLE_HOME
PATH=$PATH:$ORACLE_HOME/ows/3.0/bin:$ORACLE_HOME/bin:$ORACLE_HOME/utils:/var/opt/applmgr
export PATH
SHLIB_PATH=$ORACLE_HOME/lib:/usr/lib
export SHLIB_PATH
TNS_ADMIN=/erp00/app/oracle/product/8.0.6/network/admin
export TNS_ADMIN
. $APPL_TOP/$ORACLE_SID.env
/erp00/app/oracle/product/8.0.6/ows/3.0/bin/owsctl stop USR
ORACLE_SID=PBSPROD
export ORACLE_SID
. /var/opt/oracle/userenv PBSPROD
su oracle -c "/erp00/app/oracle/product/8.0.6/ows/3.0/bin/owsctl stop PROD"
su oracle -c "/erp00/app/oracle/product/8.0.6/ows/3.0/bin/owsctl stop admin"
su oracle -c "/erp00/app/oracle/product/8.0.6/ows/3.0/bin/owsctl stop www"
su oracle -c "/erp00/app/oracle/product/8.0.6/ows/3.0/bin/owsctl stop wrb"
#### It takes three minutes for oraweb processes to cleanly shut down. View with ps -ef"
;;
*)
echo "Usage: /etc/init.d/oracle { start | stop }"
;;
esac