りなっくす奮闘記 其の十二
事件File No.12
データベースが自動起動しない!

 

 「データベースを自動起動しようとしましたが、うまくいきません」

 Windowsでは、OSを起動するとOracleも自動的に起動するようになっていますが、Linux/UNIXではいくつかの設定が必要です。自動起動ができない原因の多くは、設定のミスにあります。

自動起動の仕組みを理解する
 正しく設定するためには、自動起動の仕組みを理解する必要があります。自動起動に関連するファイルは次の4つです。1から3がOracleに含まれていて、4はユーザーが作成します。ただしMIRACLE LINUXにはすでに付属しています。
  1. $ORACLE_HOME/bin/dbstart DB起動スクリプト
  2. $ORACLE_HOME/bin/dbstop DB停止スクリプト
  3. /etc/oratab インスタンスの定義ファイル
  4. /etc/rc.d/init.d/dbora サービスのスクリプト
●oratab
 oratabは、インスタンスのSIDを登録するファイルです。oratabの書式は以下のようになっています。末尾のYとNで、自動起動/停止の対象にするかどうかを指定します。複数のインスタンスがあるときには、この行も複数になります。



●dbora
 dboraは、OSが実行するOracleの起動/停止スクリプトです。OSは、直接dbstartやdbshutを実行するのではなく、dbora経由で実行します。たとえばOSの起動時には、これらのファイルは次の順序で実行されます。
  1. OSのinitプロセスは、/etc/inittabにもとづきdboraを起動します。initプロセスとは、UNIX系OSで最初に起動されるプロセスです。
  2. dboraはdbstartを実行します。
  3. dbstartは、/etc/oratabを参照して、自動起動対象のインスタンスを起動します。
実際に設定してみる
 では実際に設定してみましょう。SIDがorclで、$ORACLE_HOMEが/opt/oracle/product/10.1.0のインスタンスを設定します。
  1. /etc/oratabの最後の列がYになっていることを確認します。



  2. Oracle9iではdbstartとdbshutを修正する必要があります。dbstartでは、PFILEの行をコメントアウトします。dbshutではimmediateを追加します。




  3. dbstartとdbshutをoracleユーザーで実行して、それぞれ正常に動作するか確認します。
  4. dboraスクリプトを作成します(リスト参照)。MIRACLE LINUXでははじめからdboraが付属していますが、Red Hat Linuxでは自分で作成する必要があります。



  5. "chkconfig--add"でdboraを登録します。次に"chkconfig dbora on"で有効にします。自動起動を停止するときには"chkconfig dbora off"にします。次のように表示されれば自動起動の設定は終了です。



  6. あとはOSを起動/停止して、正常に起動/停止していることを確認してください。


今月のTIPS
 データベースの自動起動は、仕組みさえ理解していれば難しくはありません。ぜひ仕組みを理解してください。またchkconfigで起動スクリプトを登録すると「service dbora start」でも起動できます。
お問い合わせ先
ミラクル・リナックス株式会社 マーケティング部
TEL 03-5562-8300
FAX 03-5562-8306
URL http://www.miraclelinux.com/
E-Mail mktg@miraclelinux.com

目次へ戻る→