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

          #!/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 思考 閱讀(1505) 評(píng)論(0)  編輯  收藏 所屬分類: Linux
          主站蜘蛛池模板: 鄂托克旗| 南通市| 左云县| 泸溪县| 华容县| 河间市| 万宁市| 屯门区| 上栗县| 松阳县| 宁阳县| 华安县| 东至县| 安乡县| 行唐县| 灵丘县| 德令哈市| 华蓥市| 巫山县| 瓮安县| 电白县| 七台河市| 木兰县| 邯郸市| 桂平市| 武乡县| 毕节市| 宝丰县| 德江县| 辽阳市| 于都县| 金秀| 炎陵县| 高台县| 四平市| 深圳市| 龙州县| 吉首市| 延长县| 保山市| 兴仁县|