[Oracle 12c]-設定重開機自動啟動Oracle 12c R2 on Linux 7

Oracle在Linux上不如同SQL在Windows上, 以Service的方式在每次開機時可以自動啟動(當然也是設定的)
因此,要讓Oracle能自動啟動, 多少要動一點Linux上的設定.
比較麻煩的是, Oracle服務起來了還有監聽器, 都起來了還有DB....

設定重開機自動啟動Oracle 12c R2 on Linux 7

 

1.      修改 /etc/oratab 的檔案內容, 將下列設定改為Y

orcl:/u01/app/oracle/product/12.2.0/db_1:Y

 

2.      新增一個檔案到 /etc/init.d/ 目錄下, 命名為 dbora, 此部分可以參考官方文件上的設定.

#!/bin/bash

 

# oracle: Start/Stop Oracle Database 11g R2/12c

#

# chkconfig: 345 90 10

# description: The Oracle Database Server is an RDBMS created by Oracle Corporation

#

# processname: oracle

 

. /etc/rc.d/init.d/functions

 

LOCKFILE=/var/lock/subsys/oracle

ORACLE_HOME=/u01/app/oracle/product/12.2.0/db_1/

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/dbstart $ORACLE_HOME"

   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/dbshut $ORACLE_HOME"

   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

 

3.      指定上述檔案的權限配置

cd /etc/init.d

chgrp dba dbora

chmod 750 dbora

chkconfig --add dbora

 

之後就重開機看看有沒有自動帶起來囉~~