• 検索結果がありません。

データベースの起動と停止の自動化の概要

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

データベース管理者リファレンス for Linux and UNIX System-Based

Operating Systems