隨筆-49  評(píng)論-67  文章-27  trackbacks-0
          在SuSE下,由于SuSE特有的腳本管理方法,Should-Stop和Default-Stop選項(xiàng)被忽略了。同時(shí),在腳本開始處執(zhí)行/etc/rc.status腳本,可以通過調(diào)用rc_status -v檢查啟動(dòng)命令的執(zhí)行結(jié)果并彩色顯示出來。

          #!/bin/bash
          #
          # /etc/init.d/oracle
          #
          ### BEGIN INIT INFO
          # Provides:
          # Required-Start: $network $syslog
          # Should-Start:
          # Required-Stop:
          # Should-Stop:
          # Default-Start: 3 5
          # Default-Stop: 0 1 2 4 6
          # Description: Startup/shutdown script for oracle listener and instance;
          ### END
          . /etc/rc.status
          rc_reset
                 
          start()
          {
                 
                  #when system stop redhat  check /var/lock/subsys/oracle
                  #to make sure oracle is running.
                  touch /var/lock/subsys/oracle
                  # start tsnlisnter    
                  echo -n "Start tsnlisnter:"
                          su - oracle -c "lsnrctl start" >/dev/null 2>/dev/null
                  rc_status -v
                  # start database
                  echo -n "Start Oracle database instance:"
                  su - oracle -c "echo \"
                                  CONN / AS SYSDBA
                                  STARTUP
                                  exit \"|sqlplus /NOLOG" >/dev/null 2>/dev/null
                  rc_status -v
                  # start enterprise manager
                  echo -n "Start Enterprise Manager:"
                  su - oracle -c "emctl start dbconsole" >/dev/null 2>/dev/null
                  rc_status -v
                  #start isqlplus
                  echo -n "Start isqlplus"
                  su - oracle -c "isqlplusctl start">/dev/null 2>/dev/null
                  rc_status -v
          }
          stop()
          {
                  #when system stop redhat  check /var/lock/subsys/oracle
                  #to make sure oracle is running.
                  rm -rf /var/lock/subsys/oracle
                  # shutdown database
                  echo -n "Shutdown Oracle database instance:"
                  su - oracle -c "echo \"
                                  CONN / AS SYSDBA
                                  SHUTDOWN immediate
                                  exit \"|sqlplus /NOLOG">/dev/null 2>/dev/null
                  rc_status -v
                  # stop tsnlisnter
                  echo -n "Stop tsnlisnter:"
                          su - oracle -c "lsnrctl stop">/dev/null 2>/dev/null
                  rc_status -v
                  # stop enterprise manager
                  echo -n "Stop Enterprise Manager:"
                  su - oracle -c "emctl stop dbconsole"
                  rc_status -v
                  # stop isqlplus
                  echo -n "Stop isqlplus:"
                  su - oracle -c "isqlplusctl stop"
                  rc_status -v
          }
          case "$1" in
          start)
                  start
                  echo "Oracle Start at:" `date` >>/var/log/oracle.log
                  ;;
          stop)
                  stop
                  echo "Oracle Stop at:" `date` >>/var/log/oracle.log
                  ;;
          restart)
                  echo "Oracle Restart at:" `date` >>/var/log/oracle.log
                  stop
                  start
                  ;;
          *)
                  echo "Usage: $0 { start | stop| restart }"
                  exit 1
           
                 ;;
          esac
          rc_exit
          posted on 2007-06-05 09:50 思考 閱讀(1504) 評(píng)論(0)  編輯  收藏 所屬分類: Linux
          主站蜘蛛池模板: 逊克县| 谷城县| 宜兰市| 邹平县| 长兴县| 集安市| 夹江县| 鞍山市| 隆安县| 耒阳市| 盐边县| 泰来县| 光泽县| 巢湖市| 集贤县| 巨鹿县| 本溪| 清苑县| 江达县| 威远县| 青浦区| 黄大仙区| 家居| 华池县| 新野县| 舟曲县| 淮阳县| 霍林郭勒市| 大田县| 英吉沙县| 富民县| 农安县| 榆社县| 丹江口市| 东港市| 武穴市| 余庆县| 古交市| 阿拉善左旗| 贵州省| 格尔木市|