Operating Systems
2.2 データベースの起動と停止の自動化の概要
Oracle Databaseは、システムの起動時に自動的に起動し、停止時に自動的に停止するようにシステ
ムを構成することをお薦めします。データベースの起動と停止を自動化することによって、デー タベースの不正な停止を防ぐことができます。
データベースの起動と停止を自動化するには、$ORACLE_HOME/binディレクトリにあ
るdbstartおよびdbshutスクリプトを使用します。これらのスクリプトは、oratabファイル内 の同じエントリを参照します。したがって、同じデータベース・セットに適用されます。たとえ ば、dbstartスクリプトによって、sid1、sid2およびsid3を自動的に起動し、dbshutスクリ プトによって、sid1のみを停止することはできません。ただし、dbstartスクリプトがまったく 使用されていない場合は、dbshutスクリプトを使用してデータベース・セットの停止を指定する
ことはできます。これを実行するにはシステムの停止ファイルにdbshutエントリを含めますが、
システムの起動ファイルにdbstartエントリは含めないでください。
関連項目:
システムの起動と停止の手順については、オペレーション・システムのドキュメントにあ るinitコマンドを参照してください。
2.2.1 データベースの起動と停止の自動化
dbstartおよびdbshutスクリプトを使用してデータベースの起動と停止を自動化するには、次の 手順を実行します。
1. rootユーザーでログインします。
2. プラットフォームのoratabファイルを編集します。
ファイルを開くには、次のいずれかのコマンドを使用します。
Oracle Solarisの場合:
# vi /var/opt/oracle/oratab
IBM AIX on POWER Systems (64-Bit)およびLinuxの場合:
# vi /etc/oratab
oratabファイル内のデータベース・エントリは、次の形式で表示されます。
$ORACLE_SID:$ORACLE_HOME:<N|Y>
この例の値YおよびNは、スクリプトでデータベースの起動または停止を実行するかどうかを 指定します。最初に、停止と起動を自動化するデータベースごとに、データベースのインス タンス識別子(SID)を判別します。これは、最初のフィールドのSIDで識別されます。次に、
最後のフィールドをそれぞれYに変更します。
dbstartを設定すると、自動ストレージ管理インストールを使用している単一インスタンス
のデータベースの起動を自動化できます。自動ストレージ管理はOracle Clusterwareによって 自動的に起動されます。これは、自動ストレージ管理クラスタのデフォルトの動作です。こ れを実行する場合は、データベースおよび自動ストレージ管理インストールのoratabエン
トリを変更して、3番目のフィールドに値WおよびNをそれぞれ設定する必要があります。こ れらの値は、自動ストレージ管理インスタンスの起動後にのみ、dbstartがデータベースを 自動的に起動するように指定します。
注意: 新規データベース・インスタンスをシステムに追加する場合、これらのイン
スタンスを自動的に起動するには、oratabファイルでインスタンスのエントリを 編集する必要があります。
3. オペレーティング・システムに応じ、ディレクトリを次のいずれかに変更します。
プラットフォーム 初期化ファイルのディレクトリ
LinuxおよびOracle Solaris /etc/init.d IBM AIX on POWER Systems
(64ビット) /etc
4. dboraというファイルを作成し、次の行をこのファイルにコピーします。
注意: 環境変数ORA_HOMEの値を変更し、インストールのOracleホーム・ディレク
トリに指定します。また、環境変数ORA_OWNERの値を、Oracleホーム・ディレク トリにインストールされているデータベースの所有者のユーザー名(通常
はoracle)に変更します。
#! /bin/sh
# description: Oracle auto start-stop script.
#
# Set ORA_HOME to be equivalent to the $ORACLE_HOME
# from which you wish to execute dbstart and dbshut;
#
# Set ORA_OWNER to the user id of the owner of the
# Oracle database in ORACLE_HOME.
ORA_HOME=<Type your ORACLE_HOME in full path here>
ORA_OWNER=<Type your Oracle account name here>
case "$1" in 'start')
# Start the Oracle databases:
# The following command assumes that the oracle login # will not prompt the user for any values
# Remove "&" if you don't want startup as a background process.
su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart $ORA_HOME" &
touch /var/lock/subsys/dbora ;;
'stop')
# Stop the Oracle databases:
# The following command assumes that the oracle login # will not prompt the user for any values
su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut $ORA_HOME" &
rm -f /var/lock/subsys/dbora ;;
esac
注意: このスクリプトで停止できるのは、パスワードが設定されていないOracle Net
Listenerのみです。また、リスナー名がデフォルトのLISTENERではない場 合、stopおよびstartコマンドでリスナー名を指定する必要があります。
$ORACLE_HOME/bin/lsnrctl {start|stop} listener_name
5. dboraファイルのグループをOSDBAグループ(通常はdba)に変更し、その権限を750に設定 します。
# chgrp dba dbora
# chmod 750 dbora
6. 次のように、dboraスクリプトへのシンボリック・リンクを、適切な起動レベルのスクリプ ト・ディレクトリに作成します。
プラットフォ
ーム シンボリック・リンク・コマンド Oracle Solaris
# ln -s /etc/init.d/dbora /etc/rc0.d/K01dbora
# ln -s /etc/init.d/dbora /etc/rc3.d/S99dbora
Linux
# ln -s /etc/init.d/dbora /etc/rc.d/rc0.d/K01dbora
# ln -s /etc/init.d/dbora /etc/rc.d/rc3.d/S99dbora
# ln -s /etc/init.d/dbora /etc/rc.d/rc5.d/S99dbora
IBM AIX on POWER
Systems (64ビッ
ト) # ln -s /etc/dbora /etc/rc.d/rc2.d/S99dbora
# ln -s /etc/dbora /etc/rc.d/rc0.d/K01dbora
About Oracle Contact Us Products A-Z Terms of Use & Privacy Ad Choices
このページは役に立ちましたか?
Yes No
Release 19