MiracleLinux のように 自動的に自動起動スクリプトを書いてくれる OS もありますが、 ほとんどの場合は自分で書く必要があると思います。
ここで挙げた以外にも、ASM の構成のときや OCFS を構成しているときは 起動順序があります。
Enterprise Manager (EM) と iSQL*Plus は必要に応じて起動します。 リスナーとインスタンスはどちらが先でもいいですが、 動的登録をするときはリスナーが先のほうがわかりやすいでしょう。
順序 | モジュール | コマンド |
1 | インスタンス | $ORACLE_HOME/bin/dbstart |
2 | リスナー | $ORACLE_HOME/bin/lsnrctl start |
3 | EM | $ORACLE_HOME/bin/emctl start dbconsole |
4 | iSQL*Plus | $ORACLE_HOME/bin/isqlplusctl start |
起動の逆です。
順序 | モジュール | コマンド |
1 | iSQL*Plus | $ORACLE_HOME/bin/isqlplusctl stop |
2 | EM | $ORACLE_HOME/bin/emctl stop dbconsole |
3 | リスナー | $ORACLE_HOME/bin/lsnrctl stop |
4 | インスタンス | $ORACLE_HOME/bin/dbshut |
実際にスクリプトを書いてみました。
まず /etc/oratab にて、自動起動対応のために行の末尾を N から Y にします。
orcl:/home/oracle/oracle/product/10.2.0/db_1:Y
スクリプトは oracle を /etc/init.d/oracle として置きます。
chkconfig にて設定します。
# chkconfig --add oracle # chkconfig oracle on # chkconfig --list oracle oracle 0:off 1:off 2:on 3:on 4:on 5:on 6:off
次に、dbstart や dbshut スクリプトの ORATAB を定義している行を直します。 $ORACLE_HOME/bin/ にあります。
ORATAB=/etc/oratab
あとは service コマンドで起動や終了ができます。 直接 /etc/init.d/oracle を叩いても同じです。
Oracle の起動や終了には結構な時間が掛かりますので、 根気強く待ちましょう。