設定Oracle資料庫開機自啟動

迷倪小魏發表於2017-12-07

1、修改$ORACLE_HOME/bin/dbstart

 [oracle@seiang11g ~]$ vim $ORACLE_HOME/bin/dbstart

 將ORACLE_HOME_LISTNER=$1修改為ORACLE_HOME_LISTNER=$ORACLE_HOME

 

2、修改$ORACLE_HOME/bin/dbshut

 [oracle@seiang11g ~]$ vim $ORACLE_HOME/bin/dbshut

 將ORACLE_HOME_LISTNER=$1修改為ORACLE_HOME_LISTNER=$ORACLE_HOME

 

3、修改/etc/oratab檔案

 [oracle@seiang11g ~]$ vim /etc/oratab

 將seiang11g:/u01/app/oracle/product/11.2.0/dbhome_1:N中最後的N改為Y,成為seiang11g:/u01/app/oracle/product/11.2.0/dbhome_1:Y

 

4、輸入命令dbshut和dbstart測試

 [oracle@seiang11g ~]$dbshut


Oracle監聽停止,程式消失。

 

[oracle@seiang11g ~]$dbstart

 

Oracle監聽啟動,程式啟動。

 

5、切換到root賬戶建立自啟動指令碼

[root@seiang11g init.d]# vim /etc/rc.d/init.d/oracle

新增以下內容(有些值如ORACLE_HOMEORACLE_USER等根據實際情況可以修改):

#!/bin/bash
# oracle: Start/Stop Oracle Database 11g R2
# chkconfig: 345 90 10
# description: The Oracle Database is an Object-Relational Database
Management System.
#
. /etc/rc.d/init.d/functions
LOCKFILE=/var/lock/subsys/oracle
ORACLE_HOME=/u01/app/oracle/product/11.2.0
ORACLE_USER=oracle
case "$1" in
'start')
if [ -f $LOCKFILE ]; then
      echo $0 already running.
      exit 1
   fi
   echo -n $"Starting Oracle Database:"
   su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl start"
   su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
   su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl start dbconsole"
   touch $LOCKFILE
   ;;
'stop')
   if [ ! -f $LOCKFILE ]; then
      echo $0 already stopping.
      exit 1
   fi
   echo -n $"Stopping Oracle Database:"
   su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl stop"
   su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbshut"
   su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl stop dbconsole"
   rm -f $LOCKFILE
   ;;
'restart')
   $0 stop
   $0 start
   ;;
'status')
   if [ -f $LOCKFILE ]; then
      echo $0 started.
      else
      echo $0 stopped.
   fi
   ;;
*)
   echo "Usage: $0 [start|stop|status]"
   exit 1
esac
exit 0

 

6.   修改/etc/init.d/oracle服務檔案許可權

[root@seiang11g ~]# chmod 755 /etc/init.d/oracle

 

7.   設定為開機啟動

[root@seiang11g ~]# chkconfig oracle on


 

注意:

如果在執行chkconfig oralce onchkconfig –add oracle時出現如下的提示:

則在/etc/rc.d/init.d/oracle指令碼中一定要加入下面兩行內容

# chkconfig: 345 99 10
# description: script for the Oracle Instance, Listener 
(描述內容可修改)


說明:

# chkconfig: 345 99 10
指出345級別啟動這個服務,99是在相應的/etc/rc.d/rcN.d(N為前面指定的級別,這裡是345)目錄下生成的連結檔案的序號(啟動優先順序別) S99oradbstart10為在除前面指出的級別對應的/etc/rc.d/rcN.d(N為除345之外的級別)目錄生成的連結檔案的序號(服務停止的優先順序別)K10oradbstart

 

8、進行service oracle start/stop/restart測試

 

9、Reboot重啟檢視Oracle監聽和例項程式均能自動啟動。





作者:SEian.G(苦練七十二變,笑對八十一難)


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

相關文章