再談用指令碼自動啟動關閉LINUX下的ORACLE資料庫

edwards63發表於2010-07-08

1、修改oratab檔案,使資料庫自動啟動

#vi /etc/oratab

sid:/opt/app/ora10g/oracle/product/10.2.0/db_1:Y

2、修改dbstartdbshut指令碼,使之能夠自動啟動、關閉LISTENER

dbstartdbshut兩個指令碼中的ORACLE_HOME_LISTNER=$1改為

ORACLE_HOME_LISTNER=$ORACLE_HOME即可

3、編寫啟動指令碼oracledb

#!/bin/bash

#

# oracledb This Starts/Stops the Oracle Server

#

# chkconfig: 2345 99 01

# description: oracledb starts/stops the Oracle server

#

#

export ORACLE_SID=XXXX(對應你自己具體的資料庫名)

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1

export ORACLE_OWNER=oracle

export PATH=$PATH:$ORACLE_HOME/bin

echo "Oracle Script. init.d"

if [  ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME  ]

then

  echo "Oracle startup: cannot start"

  exit 1

fi

start()

{

       # Oracle listener and instance startup

  echo -n "Starting Oracle: "

  su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbstart"

  su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl start dbconsole"

  touch /var/lock/subsys/oracledb(必須與指令碼同名)
  echo "OK"

}

Stop()

{

       # Oracle listener and instance shutdown

  echo -n "Shutdown Oracle: "

  su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl stop dbconsole"

  su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbshut"

  rm -f /var/lock/subsys/oracledb(必須與指令碼同名)

  echo "OK"

}

case "$1" in

start)

  start

  ;;

stop)

  stop

  ;;

reload|restart)

  $0 stop

  $0 start

;;

*)

  echo "Usage: `basename $0` start|stop|restart|reload"

  exit 1

esac

exit 0

4、新增服務

# cp oracledb /etc/rc.d/init.d/

# chmod +x /etc/rc.d/init.d/oracledb

# chkconfig --add oracledb

# chkconfig --list oracledb

oracledb        0:off  1:off  2:on  3:on  4:on  5:on  6:off

 

 

注意

一定要有這一句話

#chkconfig: 2345 99 01(定義啟動和關閉資料庫的執行級別Runlevel,一般啟動為99最後一個啟動,而關閉是01,第一個關閉)

有了這句引數後,LINUX在生成ORACLEDB服務後,將自動在對應的RCn.D目錄中生成S99ORACLEDB(啟動)K01ORACLEDB(關閉),這樣就可以在作業系統關閉和啟動時自動關閉、啟動ORACLE資料庫了。

服務新增成功以後可以以root執行service oracledb start或者service oracledb stop來啟動或停止服務,看指令碼寫得是否正確,如果能正常啟動關閉資料庫,則表示指令碼正常。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/11954956/viewspace-667541/,如需轉載,請註明出處,否則將追究法律責任。

相關文章