Oracle Database管理者リファレンス 11gリリース1(11.1) for Linux and UNIX-Based Operating Systems E05786-05 |
|
![]() 戻る |
![]() 次へ |
この章では、Oracle Databaseプロセスを識別する方法と、プロセスを停止および再起動する基本的な方法について説明します。また、Oracle Databaseの起動と停止を自動化する方法についても説明します。次の項目について説明します。
この項では、Oracleプロセスを停止および起動する方法について説明します。次の項目について説明します。
この項では、Oracle Databaseインスタンスおよび自動ストレージ管理インスタンスを停止および起動する方法について説明します。
Oracle Databaseインスタンスまたは自動ストレージ管理インスタンスの停止
注意: 自動ストレージ管理を使用して記憶域を管理しているOracle Databaseインスタンスをすべて停止するまで、自動ストレージ管理インスタンスは停止しないでください。 |
Oracle Databaseインスタンスまたは自動ストレージ管理インスタンスを停止するには、次の手順を実行します。
停止するインスタンスのSIDおよびOracleホーム・ディレクトリを識別する場合は、次のコマンドを実行します。
Solarisの場合
$ cat /var/opt/oracle/oratab
その他のオペレーティング・システムの場合
$ cat /etc/oratab
oratab
ファイルには、次のような行が含まれています。これによって、システム上の各データベース・インスタンスまたは自動ストレージ管理インスタンスのSIDおよび対応するOracleホーム・ディレクトリを識別します。
sid:oracle_home_directory:[Y|N]
注意: 自動ストレージ管理インスタンスのSIDには、1文字目にプラス記号(+)を使用することをお薦めします。 |
デフォルト・シェルに応じてoraenv
またはcoraenv
スクリプトを実行し、停止するインスタンスの環境変数を設定します。
Bourne、BashまたはKornシェルの場合
$ . /usr/local/bin/oraenv
Cシェルの場合
% source /usr/local/bin/coraenv
プロンプトが表示されたら、インスタンスのSIDを指定します。
次のコマンドを実行し、インスタンスを停止します。
$ sqlplus
SQL> CONNECT SYS as SYSDBA
Enter password: sys_password
SQL> SHUTDOWN NORMAL
インスタンスの停止後、SQL*Plusを終了できます。
Oracle Databaseインスタンスまたは自動ストレージ管理インスタンスの再起動
注意: データベース・インスタンスで記憶域管理に自動ストレージ管理を使用している場合は、データベース・インスタンスを起動する前に、自動ストレージ管理インスタンスを起動する必要があります。 |
Oracle Databaseインスタンスまたは自動ストレージ管理インスタンスを再起動するには、次の手順を実行します。
必要に応じて前述の手順1と2を繰り返し、環境変数ORACLE_SID
およびORACLE_HOME
を設定して、起動するインスタンスのSIDおよびOracleホーム・ディレクトリを識別します。
次のコマンドを実行し、インスタンスを起動します。
$ sqlplus
SQL> CONNECT SYS as SYSDBA
Enter password: sys_password
SQL> STARTUP
インスタンスの起動後、SQL*Plusを終了できます。
Oracle Cluster Services Synchronizationデーモンを停止するには、次のコマンドを実行します。
AIXの場合
/etc/init.cssd stop
HP-UXの場合
/sbin/init.d/init.cssd stop
その他のプラットフォームの場合
/etc/init.d/init.cssd stop
Cluster Services Synchronizationデーモンを起動するには、次のコマンドを実行します。
$ORACLE_HOME/bin/localconfig reset
このコマンドは、Oracle Cluster Services Synchronizationデーモンを停止して再起動します。
この項では、Oracle Net Listenerを停止および起動する方法について説明します。
Oracle Net Listenerを停止するには、次の手順を実行します。
停止するOracle Net Listenerのリスナー名とホーム・ディレクトリを判別する場合は、次のコマンドを実行します。
$ ps -ef | grep tnslsnr
このコマンドは、システムで稼働中のOracle Net Listenerのリストを表示します。このコマンドの出力は、次のようになります。
94248 ?? I 0:00.18 oracle_home1/bin/tnslsnr listenername1 -inherit 94248 ?? I 0:00.18 oracle_home2/bin/tnslsnr listenername2 -inherit
このサンプルでは、出力listenername1
とlistenername2
がリスナーの名前です。
必要に応じて環境変数ORACLE_HOME
を設定し、停止するリスナーのOracleホーム・ディレクトリを指定します。
Bourne、BashまたはKornシェルの場合
$ ORACLE_HOME=oracle_home1
$ export ORACLE_HOME
Cシェルの場合
% setenv ORACLE_HOME oracle_home1
次のコマンドを実行し、Oracle Net Listenerを停止します。
$ $ORACLE_HOME/bin/lsnrctl stop listenername
注意: リスナー名がデフォルトのLISTENER の場合、このコマンドで名前を指定する必要はありません。 |
Oracle Net Listenerを起動するには、次の手順を実行します。
必要に応じて環境変数ORACLE_HOME
を設定し、起動するリスナーのOracleホーム・ディレクトリを指定します。
Bourne、BashまたはKornシェルの場合
$ ORACLE_HOME=oracle_home1
$ export ORACLE_HOME
Cシェルの場合
% setenv ORACLE_HOME oracle_home1
次のコマンドを実行し、Oracle Net Listenerを再起動します。
$ $ORACLE_HOME/bin/lsnrctl start [listenername]
リスナー名の指定は、リスナー名がデフォルトのリスナー名LISTENER
と異なる場合にのみ必要となります。リスナー名は、listener.ora
ファイルに記述されています。このファイルの内容を表示するには、次のコマンドを実行します。
$ more $ORACLE_HOME/network/admin/listener.ora
この項では、Oracle Ultra Searchを停止および起動する方法について説明します。
Oracle Ultra Searchを停止するには、次の手順を実行します。
必要に応じて環境変数ORACLE_HOME
を設定し、Oracle Ultra SearchのOracleホーム・ディレクトリを指定します。
Bourne、BashまたはKornシェルの場合
$ ORACLE_HOME=oracle_home
$ export ORACLE_HOME
Cシェルの場合
% setenv ORACLE_HOME oracle_home
次のコマンドを実行し、Oracle Ultra Searchを停止します。
$ $ORACLE_HOME/bin/searchctl stop
Oracle Ultra Searchを起動するには、次の手順を実行します。
必要に応じて環境変数ORACLE_HOME
を設定し、Oracle Ultra SearchのOracleホーム・ディレクトリを指定します。
Bourne、BashまたはKornシェルの場合
$ ORACLE_HOME=oracle_home
$ export ORACLE_HOME
Cシェルの場合
% setenv ORACLE_HOME oracle_home
次のコマンドを実行し、Oracle Ultra Searchを起動します。
$ $ORACLE_HOME/bin/searchctl start
この項では、Oracle Enterprise Manager Database Controlを停止および起動する方法について説明します。
Oracle Enterprise Manager Database Controlの停止
Oracle Enterprise Manager Database Controlを停止するには、次の手順を実行します。
デフォルト・シェルに応じてoraenv
またはcoraenv
スクリプトを実行し、停止するDatabase Controlで管理されているデータベースの環境を設定します。
coraenv
スクリプトの場合
% source /usr/local/bin/coraenv
oraenv
スクリプトの場合
$ . /usr/local/bin/oraenv
次のコマンドを実行し、Database Controlを停止します。
$ $ORACLE_HOME/bin/emctl stop dbconsole
Oracle Enterprise Manager Database Controlの起動
Database Controlを起動するには、次の手順を実行します。
環境変数ORACLE_SID
およびORACLE_HOME
を設定し、起動するDatabase ControlのSIDおよびOracleホーム・ディレクトリを識別します。
Bourne、BashまたはKornシェルの場合
$ ORACLE_HOME=oracle_home $ ORACLE_SID=sid $ export ORACLE_HOME ORACLE_SID
Cシェルの場合
% setenv ORACLE_HOME oracle_home % setenv ORACLE_SID sid
次のコマンドを実行し、Database Controlを起動します。
$ $ORACLE_HOME/bin/emctl start dbconsole
Oracle Enterprise Manager Grid Controlを使用して複数のOracle製品を中央から管理する場合は、Oracle Management Agentが各ホスト・システムにインストールされている必要があります。通常、Oracle Management Agentは固有のOracleホーム・ディレクトリにインストールされます。
この項では、Oracle Management Agentを停止および起動する方法について説明します。
Oracle Management Agentを停止するには、次の手順を実行します。
次のコマンドを実行し、Oracle Management AgentのOracleホーム・ディレクトリを判別します。
$ ps -ef | grep emagent
このコマンドは、Oracle Management Agentプロセスに関する情報を表示します。このコマンドの出力は、次のようになります。
94248 ?? I 0:00.18 oracle_home/agent/bin/emagent ...
必要に応じて環境変数ORACLE_HOME
を設定し、Oracle Management AgentのOracleホーム・ディレクトリを指定します。
Bourne、BashまたはKornシェルの場合
$ ORACLE_HOME=oracle_home
$ export ORACLE_HOME
Cシェルの場合
% setenv ORACLE_HOME oracle_home
次のコマンドを実行し、Oracle Management Agentを停止します。
$ $ORACLE_HOME/agent/bin/emctl stop agent
Oracle Management Agentを起動するには、次の手順を実行します。
必要に応じて環境変数ORACLE_HOME
を設定し、Oracle Management AgentのOracleホーム・ディレクトリを指定します。
Bourne、BashまたはKornシェルの場合
$ ORACLE_HOME=oracle_home
$ export ORACLE_HOME
Cシェルの場合
% setenv ORACLE_HOME oracle_home
次のコマンドを実行し、Oracle Management Agentを起動します。
$ $ORACLE_HOME/agent/bin/emctl start agent
Oracle Databaseは、システムの起動時に自動的に起動し、停止時に自動的に停止するようにシステムを構成することをお薦めします。データベースの起動と停止を自動化することによって、データベースの不正な停止を防ぐことができます。
データベースの起動と停止を自動化するには、$ORACLE_HOME/bin
ディレクトリにあるdbstart
およびdbshut
スクリプトを使用します。これらのスクリプトは、oratab
ファイル内の同じエントリを参照します。したがって、同じデータベース・セットに適用されます。たとえば、dbstart
スクリプトによって、sid1
、sid2
およびsid3
を自動的に起動し、dbshut
スクリプトによって、sid1
のみを停止することはできません。ただし、dbstart
スクリプトがまったく使用されていない場合は、dbshut
スクリプトを使用してデータベース・セットの停止を指定することはできます。これを実行するには、システムの停止ファイルにdbshut
エントリを追加し、システムの起動ファイルからdbstart
エントリを除外します。
関連項目: システムの起動と停止の手順については、オペレーション・システムのドキュメントにあるinit コマンドを参照してください。 |
dbstart
およびdbshut
スクリプトを使用してデータベースの起動と停止を自動化するには、次の手順を実行します。
root
ユーザーでログインします。
プラットフォームのoratab
ファイルを編集します。
ファイルを開くには、次のいずれかのコマンドを使用します。
Solarisの場合
# vi /var/opt/oracle/oratab
AIX、HP-UXおよびLinuxの場合
# vi /etc/oratab
oratab
ファイル内のデータベース・エントリは、次の形式で表示されます。
SID:ORACLE_HOME:{Y|N|W}
この例の値Y
およびN
は、スクリプトでデータベースの起動または停止を実行するかどうかを指定します。最初に、停止と起動を自動化するデータベースごとに、データベースのインスタンス識別子(SID)を判別します。これは、最初のフィールドのSID
で識別されます。次に、最後のフィールドをそれぞれY
に変更します。
dbstart
を設定すると、自動ストレージ管理インストールを使用している単一インスタンスのデータベースの起動を自動化できます。自動ストレージ管理はOracle Clusterwareによって自動的に起動されます。これは、自動ストレージ管理クラスタのデフォルトの動作です。これを実行する場合は、データベースおよび自動ストレージ管理インストールのoratab
エントリを変更して、3番目のフィールドに値W
およびN
をそれぞれ設定する必要があります。これらの値は、自動ストレージ管理インスタンスの起動後にのみ、dbstart
がデータベースを自動的に起動するように指定します。
注意: 新規データベース・インスタンスをシステムに追加する場合、これらのインスタンスを自動的に起動するには、oratab ファイルでインスタンスのエントリを編集する必要があります。 |
オペレーティング・システムに応じ、ディレクトリを次のいずれかに変更します。
プラットフォーム | プラットフォーム固有の初期化ファイルのディレクトリ |
---|---|
AIX | /etc |
LinuxおよびSolaris | /etc/init.d |
HP-UX | /sbin/init.d |
dbora
というファイルを作成し、次の行をこのファイルにコピーします。
注意: 環境変数ORACLE_HOME の値を、各インストールのOracleホーム・ディレクトリに変更します。また、環境変数ORACLE の値を、Oracleホーム・ディレクトリにインストールされているデータベースの所有者のユーザー名(通常はoracle )に変更します。 |
#! /bin/sh -x # # Change the value of ORACLE_HOME to specify the correct Oracle home # directory for your installation. ORACLE_HOME=/u01/app/oracle/product/11.1.0/db_1 # # Change the value of ORACLE to the login name of the # oracle owner at your site. # ORACLE=oracle PATH=${PATH}:$ORACLE_HOME/bin HOST=`hostname` PLATFORM=`uname` export ORACLE_HOME PATH # if [ ! "$2" = "ORA_DB" ] ; then if [ "$PLATFORM" = "HP-UX" ] ; then remsh $HOST -l $ORACLE -n "$0 $1 ORA_DB" exit else rsh $HOST -l $ORACLE $0 $1 ORA_DB exit fi fi # case $1 in 'start') $ORACLE_HOME/bin/dbstart $ORACLE_HOME & ;; 'stop') $ORACLE_HOME/bin/dbshut $ORACLE_HOME & ;; *) echo "usage: $0 {start|stop}" exit ;; esac # exit
注意: このスクリプトで停止できるのは、パスワードが設定されていないOracle Net Listenerのみです。また、リスナー名がデフォルトのLISTENER ではない場合、stop およびstart コマンドでリスナー名を指定する必要があります。
$ORACLE_HOME/bin/lsnrctl {start|stop} listener_name
|
dbora
ファイルのグループをOSDBAグループ(通常はdba
)に変更し、その権限を750に設定します。
# chgrp dba dbora # chmod 750 dbora
次のように、dbora
スクリプトへのシンボリック・リンクを、適切な起動レベルのスクリプト・ディレクトリに作成します。
プラットフォーム | シンボリック・リンク・コマンド |
---|---|
AIX |
# ln -s /etc/dbora /etc/rc.d/rc2.d/S99dbora # ln -s /etc/dbora /etc/rc.d/rc0.d/K01dbora |
HP-UX |
# ln -s /sbin/init.d/dbora /sbin/rc3.d/S990dbora # ln -s /sbin/init.d/dbora /sbin/rc0.d/K001dbora |
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 |
Solaris |
# ln -s /etc/init.d/dbora /etc/rc0.d/K01dbora # ln -s /etc/init.d/dbora /etc/rc3.d/S99dbora |