DB起動停止を自動化(Unix/Linux)

OS を起動停止する際に rc スクリプトを用いることで
Oracle データベースやリスナー、Enterprise Manager の自動起動・停止が可能。



(1) dbora を作成

Oracle データベース管理者リファレンスよりサンプルスクリプトを入手し、
/etc/init.d に dbora (テキストファイル)を作成し、環境に合わせて編集。

(2) パーミッション、グループ設定

chmod 750 /etc/init.d/dbora
chgrp dba /etc/init.d/dbora

(3) oratab の編集

viエディタ でファイルの末尾に設定を追記する。
/etc/oratab
/var/opt/oracle/oratab (Solarisのみ)

% cat oratab
# This file is used by ORACLE utilities.  It is created by root.sh

~ 中略 ~

# Multiple entries with the same $ORACLE_SID are not allowed.
orcl:/opt/app/oracle/product/11.1.0/db_1:Y  --> 有効
hoge:/opt/app/oracle/product/11.1.0/db_1:N  --> 無効

記述は 「 SID:$ORACLE_HOME:Y または N 」となり、
複数インスタンスが存在する環境でも、インスタンス単位で有効・無効の設定が可能。

(4) シンボリックリンクの作成

ランレベル 3 (マルチモード)で起動、ランレベル 0 (停止)で停止
させたい場合、下記のようにシンボリックリンクを作成する。

ln -s /etc/init.d/dbora /etc/rc3.d/S99dbora
ln -s /etc/init.d/dbora /etc/rc0.d/K01dbora

設定後に OS 停止・起動で rc スクリプトが正しく実行されることを確認する。