Oracleの自動起動の設定

Oracleの自動起動の設定

Linux系OSの場合、インストール直後の状態だと、マシンの起動/停止時に連動して自動的にOracleデータベースを起動/停止する事が出来ません。
今回はこの方法を紹介します。

[環境]
OSFedora Core6
DBOracle Database 10g Release 10.2.0.1.0

以降の処理を行う前にrootでログインしてください。

■設定方法
(1)「/etc/init.d/dbora」の作成
このファイルに以下の2つのスクリプトを実行する処理を記述します。

  • ORACLE_HOME/bin/dbstart Oracleデータベース起動用のスクリプト(中でリスナも起動)
  • ORACLE_HOME/bin/dbshut Oracleデータベース停止用のスクリプト(中でリスナも停止)
!/bin/sh
#
# chkconfig: - 99 10
# description: Oracle Database Server 10G
# processname: ora_

SUBSYS=/var/lock/subsys/dbora
ORA_HOME=/u01/app/oracle/product/10.2.0/db_1/
ORA_OWNER=oracle

start(){
  if [ -f $SUBSYS ]; then
    echo "Already Running Oracle Database Server"
  else
    if [ -f $ORA_HOME/bin/dbstart ]; then
        su - $ORA_OWNER   -c "$ORA_HOME/bin/dbstart"
        echo "Startting Oracle Database Server"
        touch $SUBSYS
        sleep 5
    else
        echo "$ORA_HOME/bin/dbstart is Not Found"
    fi
  fi
  return 0
}

stop(){
  if [ -f $SUBSYS ]; then
    if [ -f $ORA_HOME/bin/dbshut ]; then
      su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut"
      echo "Stopping Oracle Database Server"
      rm $SUBSYS
      sleep 5
    else
      echo "$ORA_HOME/bin/dbshut is Not Found"
    fi
  else
    echo "Oracle Database Server is Already Stopped"
  fi
  return 0
}

restart(){
  echo "Restartting Oracle Database Server"
  stop
  start
  return 0
}

case "$1" in
start)
  start
  ;;
stop)
  stop
  ;;
restart)
  restart
  ;;
esac

exit 0
最初の方にある以下の2つはchkconfigコマンドに認識させるための記述
# chkconfig: - 起動の順番 停止の順番
# description: Oracle Database Server 10G

(2)ファイルのモードをチェンジ
chkmod 744 /etc/init.d/dbora
(3)chkconfigコマンドを設定
chkconfig --add dbora
上で作成したスクリプト中に以下の2つの記述がないと認識できないと言って起こられます。
# chkconfig: - 起動の順番 停止の順番
# description: Oracle Database Server 10G
続いて指定のRUNLEVELでOracleが自動起動/停止するように設定します。
chkconfig --level 345 dbora on

以上で設定は終了です。後は再起動してデータベースとリスナが起動しているか確認しましょう。

■参考サイト
2007年06月26日(火) 00:36:42 Modified by mr_makochi




スマートフォン版で見る