「データベースを自動起動しようとしましたが、うまくいきません」
Windowsでは、OSを起動するとOracleも自動的に起動するようになっていますが、Linux/UNIXではいくつかの設定が必要です。自動起動ができない原因の多くは、設定のミスにあります。
自動起動の仕組みを理解する
正しく設定するためには、自動起動の仕組みを理解する必要があります。自動起動に関連するファイルは次の4つです。1から3がOracleに含まれていて、4はユーザーが作成します。ただしMIRACLE LINUXにはすでに付属しています。
$ORACLE_HOME/bin/dbstart DB起動スクリプト
$ORACLE_HOME/bin/dbstop DB停止スクリプト
/etc/oratab インスタンスの定義ファイル
/etc/rc.d/init.d/dbora サービスのスクリプト
●oratab
oratabは、インスタンスのSIDを登録するファイルです。oratabの書式は以下のようになっています。末尾のYとNで、自動起動/停止の対象にするかどうかを指定します。複数のインスタンスがあるときには、この行も複数になります。
●dbora
dboraは、OSが実行するOracleの起動/停止スクリプトです。OSは、直接dbstartやdbshutを実行するのではなく、dbora経由で実行します。たとえばOSの起動時には、これらのファイルは次の順序で実行されます。
OSのinitプロセスは、/etc/inittabにもとづきdboraを起動します。initプロセスとは、UNIX系OSで最初に起動されるプロセスです。
dboraはdbstartを実行します。
dbstartは、/etc/oratabを参照して、自動起動対象のインスタンスを起動します。
実際に設定してみる
では実際に設定してみましょう。SIDがorclで、$ORACLE_HOMEが/opt/oracle/product/10.1.0のインスタンスを設定します。
/etc/oratabの最後の列がYになっていることを確認します。
Oracle9iではdbstartとdbshutを修正する必要があります。dbstartでは、PFILEの行をコメントアウトします。dbshutではimmediateを追加します。
dbstartとdbshutをoracleユーザーで実行して、それぞれ正常に動作するか確認します。
dboraスクリプトを作成します(リスト参照)。MIRACLE LINUXでははじめからdboraが付属していますが、Red Hat Linuxでは自分で作成する必要があります。
"chkconfig--add"でdboraを登録します。次に"chkconfig dbora on"で有効にします。自動起動を停止するときには"chkconfig dbora off"にします。次のように表示されれば自動起動の設定は終了です。
あとはOSを起動/停止して、正常に起動/停止していることを確認してください。
データベースの自動起動は、仕組みさえ理解していれば難しくはありません。ぜひ仕組みを理解してください。またchkconfigで起動スクリプトを登録すると「service dbora start」でも起動できます。
ミラクル・リナックス株式会社
マーケティング部
03-5562-8300
03-5562-8306
http://www.miraclelinux.com/
mktg@miraclelinux.com
目次へ戻る→