ヘッダーをスキップ

Oracle Database 管理者ガイド
11gリリース1(11.1)

E05760-03
目次
目次
索引
索引

戻る 次へ

3 起動と停止

この章の内容は次のとおりです。

データベースの起動

データベースの起動時には、そのデータベースのインスタンスを作成し、データベースの状態を確認します。インスタンスは通常、データベースをマウントおよびオープンすることで起動します。これによって、有効なユーザーはデータベースに接続して通常のデータ・アクセス操作を実行できます。ここでは、他の起動方法についても説明します。

この項の内容は、次のとおりです。

データベースの起動方法

データベース・インスタンスは、SQL*Plus、Recovery ManagerまたはEnterprise Managerを使用して起動できます。

SQL*Plusを使用したデータベースの起動

SQL*Plusセッションを起動し、管理者権限でOracle Databaseに接続すると、STARTUPコマンドを発行できます。このマニュアルでは、SQL*Plusを使用するこの方法について詳細に説明します。

Recovery Managerを使用したデータベースの起動

Recovery Manager(RMAN)を使用して、STARTUPおよびSHUTDOWNコマンドを実行する方法もあります。この方法を選択するのは、Recovery Manager環境でSQL*Plusを起動しない場合です。

関連項目:

Recovery Managerを使用したデータベースの起動方法の詳細は、『Oracle Databaseバックアップおよびリカバリ・アドバンスト・ユーザーズ・ガイド』を参照してください。 

Oracle Enterprise Managerを使用したデータベースの起動

Oracle Enterprise Manager(EM)は、起動や停止も含めたデータベースの管理に使用できます。EMは、GUIコンソール、エージェント、共有サービスおよびOracleのツール製品を組み合せて、Oracle製品の管理のために統合された包括的なシステム管理プラットフォームを提供します。EMのOracleデータベース管理専用の部分であるEM Database Controlでは、このマニュアルで説明されている機能を、コマンドライン操作ではなくGUIを使用して実行できます。

関連項目:

  • 『Oracle Enterprise Manager 概要』

  • 『Oracle Enterprise Manager 基本インストレーションおよび構成』

  • 『Oracle Database 2日でデータベース管理者』

 

ここからは、SQL*Plusを使用してデータベース・インスタンスを起動する方法について説明します。

初期化パラメータおよび起動の概要

データベースは、インスタンスを起動するために、サーバー・パラメータ・ファイル(SPFILE)またはテキスト形式の初期化パラメータ・ファイルからインスタンス構成パラメータ(初期化パラメータ)を読み込む必要があります。

SQL*PlusのSTARTUPコマンドを発行すると、データベースは、プラットフォーム固有のデフォルトの場所にあるSPFILEから初期化パラメータを読み込もうとします。SPFILEが見つからない場合は、テキスト形式の初期化パラメータ・ファイルを検索します。


注意:

UNIXまたはLinuxの場合、SPFILEおよびテキスト形式の初期化パラメータ・ファイルが配置されるプラットフォーム固有のデフォルトの場所(ディレクトリ)は、次のとおりです。

$ORACLE_HOME/dbs 

Windows NTおよびWindows 2000の場合は、次のとおりです。

%ORACLE_HOME%¥database
 

Oracle Databaseは、プラットフォーム固有のデフォルトの位置にあるファイル名を次の順序で検査し、初期化パラメータ・ファイルを特定します。

  1. spfile$ORACLE_SID.ora

  2. spfile.ora

  3. init$ORACLE_SID.ora

最初の2つのファイル名はSPFILEを表し、3番目のファイル名はテキスト形式の初期化パラメータ・ファイルを表します。


注意:

spfile.oraファイルがこの検索パスに含まれているのは、Oracle Real Application Clusters環境では、すべてのインスタンスの初期化パラメータ設定が1つのサーバー・パラメータ・ファイルに格納されるためです。サーバー・パラメータ・ファイルにはインスタンス固有の格納場所はありません。

Oracle Real Application Clusters環境におけるサーバー・パラメータ・ファイルの詳細は、『Oracle Real Application Clusters管理およびデプロイメント・ガイド』を参照してください。 


ユーザー(またはDatabase Configuration Assistant)が作成したサーバー・パラメータ・ファイルをテキスト形式の初期化パラメータ・ファイルで上書きする場合は、STARTUPコマンドのPFILE句を指定すると、その初期化パラメータ・ファイルを識別できます。

STARTUP PFILE = /u01/oracle/dbs/init.ora
デフォルト以外のサーバー・パラメータ・ファイルを使用した起動

デフォルト以外のサーバー・パラメータ・ファイル(SPFILE)とは、デフォルト以外の場所にあるSPFILEのことです。通常は、デフォルト以外のSPFILEを使用してインスタンスを起動する必要はありません。ただし、必要な場合は、このPFILE句を使用して、次のようにデフォルト以外のサーバー・パラメータ・ファイルでインスタンスを起動できます。

  1. SPFILEパラメータのみを記述した1行のテキスト形式の初期化パラメータ・ファイルを作成します。パラメータの値には、デフォルト以外のサーバー・パラメータ・ファイルの場所を指定します。

    たとえば、次のパラメータのみを記述したテキスト形式の初期化パラメータ・ファイル/u01/oracle/dbs/spf_init.oraを作成します。

    SPFILE = /u01/oracle/dbs/test_spfile.ora
    


    注意:

    従来のテキスト形式の初期化パラメータ・ファイルで、サーバー・パラメータ・ファイルを設定するためにIFILE初期化パラメータを使用することはできません。この場合は、必ずSPFILE初期化パラメータを使用してください。 


  2. この初期化パラメータ・ファイルを指定して、インスタンスを起動します。

    STARTUP PFILE = /u01/oracle/dbs/spf_init.ora
    
    

このSPFILEは、データベース・サーバーが稼働しているマシン上に存在している必要があります。したがって、前述の方法は、SPFILEを使用してデータベースを起動する手段をクライアント・マシンにも提供します。また、クライアント・マシンで、クライアント側の初期化パラメータ・ファイルをメンテナンスする必要はありません。クライアント・マシンがSPFILEパラメータを含む初期化パラメータ・ファイルを読み込むと、サーバーにその値が渡され、指定されたSPFILEが読み込まれます。

UNIXおよびLinuxプラットフォームでは、SPFILEがデフォルトの場所にない場合、SPFILEへのシンボリック・リンクを作成して、そのシンボリック・リンクをデフォルトの場所に配置することもできます。

PFILEおよびSPFILEのデフォルトの名前と場所の詳細は、表2-3を参照してください。

初期化ファイルと自動ストレージ管理

通常、自動ストレージ管理(ASM)を使用しているデータベースには、デフォルト以外のSPFILEがあります。Database Configuration Assistant(DBCA)を使用してASMを使用するようにデータベースを構成すると、DBCAによってASMディスク・グループ内にデータベース・インスタンスのSPFILEが作成され、ローカル・ファイル・システム内のデフォルトの場所に、そのSPFILEを指し示すテキスト形式の初期化パラメータが作成されます。

関連項目:

初期化パラメータ、初期化パラメータ・ファイルおよびサーバー・パラメータ・ファイルの詳細は、第2章「Oracle Databaseの作成および構成」を参照してください。 

インスタンス起動の準備

SQL*Plusを使用してデータベース・インスタンスを起動する前に、次の準備手順を実行する必要があります。

  1. 環境変数が目的のOracleインスタンスに接続するように設定されていることを確認します。詳細は、「データベースに対するコマンドとSQLの発行」を参照してください。

  2. データベースに接続せずに、SQL*Plusを起動します。

    SQLPLUS /NOLOG
    
    
  3. SYSDBAとしてOracle Databaseに接続します。

    CONNECT username AS SYSDBA
    
    

データベースに接続され、データベース・インスタンスを起動する準備が完了します。

関連項目:

CONNECTSTARTUPおよびSHUTDOWNコマンドの説明と構文は、『SQL*Plus ユーザーズ・ガイドおよびリファレンス』を参照してください。 

インスタンスの起動

Oracle Databaseインスタンスを起動するには、SQL*PlusのSTARTUPコマンドを使用します。インスタンスは、次のような様々なモードで起動できます。

次の例では、DBAがインスタンスを起動できるいくつかの状態を具体的に説明します。STARTUPコマンドの句を組み合せるときは、いくつかの制限が適用されます。


注意:

制御ファイル、データベース・ファイルまたはREDOログ・ファイルが使用できない場合は、インスタンスの起動で問題が発生することがあります。データベースをマウントするときにCONTROL_FILES初期化パラメータで指定された1つ以上のファイルが存在しない場合、またはオープンできない場合は、Oracle Databaseによって警告メッセージが返され、データベースはマウントされません。データベースをオープンするときに、1つ以上のデータファイルまたはREDOログ・ファイルを使用できない場合、またはオープンできない場合、データベースは警告メッセージを返し、データベースをオープンしません。 


関連項目:

STARTUPコマンドの句を組み合せるときに適用される制限の詳細は、『SQL*Plus ユーザーズ・ガイドおよびリファレンス』を参照してください。 

インスタンスを起動し、データベースをマウントしてオープンする方法

通常のデータベース操作とは、インスタンスを起動し、データベースをマウントおよびオープンすることを意味します。このモードでは、有効なユーザーがデータベースに接続して、データ・アクセス操作を実行できます。

次のコマンドは、インスタンスを起動し、デフォルトの場所から初期化パラメータを読み込んで、データベースをマウントおよびオープンします(必要に応じて、PFILE句を指定できます)。

STARTUP

インスタンスを起動するが、データベースをマウントしない方法

インスタンスは、データベースをマウントしなくても起動できます。通常、この方法で起動するのはデータベースの作成時のみです。STARTUPコマンドで、NOMOUNT句を指定します。

STARTUP NOMOUNT 

インスタンスを起動し、データベースをマウントする方法

インスタンスを起動し、データベースをオープンしないでマウントして、特定のメンテナンス操作を実行できます。たとえば、次のようなタスクの実行時は、データベースのマウントは必要ですが、オープンしてはなりません。

次のコマンドは、インスタンスを起動してデータベースをマウントしますが、データベースはクローズしたままです。

STARTUP MOUNT

起動時にインスタンスへのアクセスを制限する方法

インスタンスの使用を管理担当者にのみ許可し、一般データベース・ユーザーの使用を禁止するには、制限モードでインスタンスを起動して、オプションでデータベースをマウントおよびオープンします。次のいずれかのタスクを実行するときは、このインスタンス起動モードを使用してください。

通常、CREATE SESSIONシステム権限を持つすべてのユーザーは、オープンしているデータベースに接続できます。制限モードでデータベースをオープンすると、CREATE SESSIONシステム権限とRESTRICTED SESSIONシステム権限の両方を持つユーザーのみがデータベースにアクセスできます。したがって、DBAのみがRESTRICTED SESSIONシステム権限を持つようにしてください。また、インスタンスが制限モードのとき、DBAはOracle Netリスナーを介してリモートでインスタンスにアクセスすることはできません。インスタンスが実行されているマシンからローカルでアクセスすることのみ可能です。

次のコマンドは、制限モードでインスタンスを起動します(データベースをマウントしてオープンします)。

STARTUP RESTRICT

RESTRICT句は、MOUNTNOMOUNTおよびOPENの各句と組み合せて使用できます。

RESTRICTED SESSION機能を無効にするには、ALTER SYSTEM文を使用します。

ALTER SYSTEM DISABLE RESTRICTED SESSION;

データベースを非制限モードでオープンし、後でアクセス制限が必要であると判明した場合は、ALTER SYSTEM文を使用して制限できます。「オープンしているデータベースへのアクセスを制限する方法」を参照してください。

関連項目:

ALTER SYSTEM文の詳細は、『Oracle Database SQLリファレンス』を参照してください。 

インスタンスを強制的に起動する方法

通常と異なる状況では、データベース・インスタンスを起動しようとしたときに、問題が発生することがあります。次の問題が発生している場合以外は、データベースを強制的に起動しないでください。

このような問題が発生した場合、STARTUPコマンドでFORCE句を指定して新しいインスタンスを起動(必要に応じて、データベースをマウントおよびオープン)すると、通常は問題を解決できます。

STARTUP FORCE

インスタンスの実行中にSTARTUP FORCEを使用すると、ABORTモードで停止した後に再起動します。この場合、Oracle Database 10g リリース2からは、メッセージ「Shutting down instance (abort)」に続いて「Starting ORACLE instance (normal)」がアラート・ログに表示されます(以前のバージョンのデータベースでは、アラート・ログに表示されるメッセージは、「Starting ORACLE instance (force)」のみでした)。

関連項目:

現行インスタンスの強制終了による影響の詳細は、「ABORT句による停止」を参照してください。 

インスタンスを起動し、データベースをマウントして、完全メディア・リカバリを開始する方法

メディア・リカバリが必要な場合は、STARTUPコマンドでRECOVER句を指定すると、インスタンスを起動し、データベースをインスタンスにマウントして、リカバリ処理を自動的に開始できます。

STARTUP OPEN RECOVER

必要ない場合にリカバリを実行しようとすると、Oracle Databaseによってエラー・メッセージが表示されます。

オペレーティング・システム起動時にデータベースを自動的に起動する方法

多くのサイトでは、システムの起動直後に1つ以上のOracle Databaseインスタンスとデータベースを自動的に起動する手順を使用しています。そのための手順は、オペレーティング・システムによって異なります。自動起動の詳細は、オペレーティング・システム固有のOracleマニュアルを参照してください。

リモート・インスタンスを起動する方法

ローカルのOracle Databaseサーバーが分散データベースの一部を構成している場合は、リモート・インスタンスとデータベースを起動できます。リモート・インスタンスの起動と停止の手順は、通信プロトコルとオペレーティング・システムによって大きく異なります。

データベースの可用性の変更

データベースの可用性を変更できます。可用性の変更は、メンテナンス上の理由やデータベースを読取り専用にするために行う場合があります。次の各項では、データベースの可用性を変更する方法について説明します。

インスタンスにデータベースをマウントする方法

特定の管理操作を実行する場合は、データベースを起動してインスタンスにマウントし、クローズしたままにする必要があります。そのためには、インスタンスを起動してデータベースをマウントします。

あらかじめ起動したインスタンスにデータベースをマウントするには、次のように、SQL文ALTER DATABASEMOUNT句を指定します。

ALTER DATABASE MOUNT;

関連項目:

データベースをマウントし、クローズしておくことが必要な操作(およびインスタンスの起動とデータベースのマウントを一度に実行する手順)の詳細は、「インスタンスを起動し、データベースをマウントする方法」を参照してください。 

クローズしているデータベースをオープンする方法

データベースをオープンすることによって、マウントされ、クローズしているデータベースを一般的な用途のために使用可能にできます。マウントされたデータベースをオープンするには、ALTER DATABASE文でOPEN句を使用します。

ALTER DATABASE OPEN;

この文の実行後は、CREATE SESSIONシステム権限を持つ有効なOracle Databaseユーザーであれば、誰でもデータベースに接続できます。

データベースを読取り専用モードでオープンする方法

データベースを読取り専用モードでオープンすると、オープンしたデータベースを問い合せることができますが、その間にデータの内容がオンラインで変更されることはありません。これにより、データファイルとREDOログ・ファイルにデータが書き込まれないことが保証されますが、データベース・リカバリや、REDOを生成せずにデータベースの状態を変更する操作が制限されることはありません。たとえば、データファイルをオフラインとオンラインの間で切り替えてもデータの内容には影響しないため、このような切替えは可能です。

ディスク・ソートの実行時など、読取り専用モードでデータベースを問い合せるときに一時表領域を使用する場合、問合せの発行者には、デフォルト一時表領域としてローカル管理表領域が割り当てられている必要があります。割り当てられていない場合は、問合せが失敗します。この操作については、「ローカル管理の一時表領域の作成」を参照してください。

次の文では、データベースが読取り専用モードでオープンします。

ALTER DATABASE OPEN READ ONLY;

また、次のように読取り/書込みモードでデータベースをオープンすることもできます。

ALTER DATABASE OPEN READ WRITE;

ただし、読取り/書込みはデフォルトのモードです。


注意:

RESETLOGS句とREAD ONLY句は併用できません。 


関連項目:

ALTER DATABASE文の詳細は、『Oracle Database SQLリファレンス』を参照してください。 

オープンしているデータベースへのアクセスを制限する方法

インスタンスを制限モードにするには、SQL文のALTER SYSTEMENABLE RESTRICTED SESSION句を指定します。制限モードの場合、インスタンスにアクセスできるのは、管理権限を持つユーザーのみです。インスタンスを制限モードにした場合は、管理タスクを実行する前に現行のユーザー・セッションをすべて停止する必要があります。

インスタンスの制限モードを解除するには、ALTER SYSTEMDISABLE RESTRICTED SESSION句を指定します。

関連項目:

 

データベースの停止

データベースを停止するには、SQL*PlusのSHUTDOWNコマンドを使用します。停止が完了するまで、データベース停止を開始したセッションに制御が戻りません。停止処理の進行中に接続しようとするユーザーは、次のようなメッセージを受け取ります。

ORA-01090: シャットダウン処理中 - 接続はできません


注意:

共有サーバー・プロセスを介してデータベースに接続している場合は、データベースを停止できません。 


データベースとインスタンスを停止するには、最初にSYSOPERまたはSYSDBAとして接続する必要があります。データベースにはいくつかの停止モードがあります。次の項では、各モードについて説明します。

一部の停止モードでは、データベースを実際に停止する前に、特定のイベント(トランザクションの完了またはユーザーによる切断など)の発生を待機します。これらのイベントに対するタイムアウト間隔は1時間です。このタイムアウト動作については、この後の項で説明します。

NORMAL句による停止

データベースを通常の状況で停止するには、次のようにSHUTDOWNコマンドでNORMAL句を指定します。

SHUTDOWN NORMAL

NORMAL句はオプションです。句が指定されていない場合、これがデフォルトの停止方法になるためです。

通常のデータベース停止では、次のように処理が進みます。

次にデータベースを起動するときに、インスタンス・リカバリ手順は必要ありません。

IMMEDIATE句による停止

データベースの即時停止は、次のような状況のときにのみ使用します。

データベースを即時に停止するには、SHUTDOWNコマンドでIMMEDIATE句を指定します。

SHUTDOWN IMMEDIATE

このデータベース停止では、次のように処理が進みます。

次にデータベースを起動するときに、インスタンス・リカバリ手順は必要ありません。

TRANSACTIONAL句による停止

アクティブなトランザクションを完了してから、予定どおりにインスタンスを停止する場合は、SHUTDOWNコマンドでTRANSACTIONAL句を指定します。

SHUTDOWN TRANSACTIONAL

このデータベース停止では、次のように処理が進みます。

次にデータベースを起動するときに、インスタンス・リカバリ手順は必要ありません。

TRANSACTIONALオプションによる停止では、クライアントの作業内容が失われずに済み、すべてのユーザーがログオフする必要がなくなります。

ABORT句による停止

データベース・インスタンスを強制終了することによって、データベースをただちに停止できます。このタイプの停止は、次のような状況でのみ実行してください。

データベースまたはデータベース・アプリケーションの一部が異常に動作している場合で、他のタイプの停止がどれも機能しないとき

トランザクションとユーザーの接続を強制終了してデータベースを停止する場合は、次のようにSHUTDOWNコマンドでABORT句を指定します。

SHUTDOWN ABORT

このデータベース停止では、次のように処理が進みます。

次にデータベースを起動するときには、インスタンス・リカバリの手順が必要になります。

停止タイムアウトおよび強制終了

ユーザーによる切断またはトランザクションの完了を待機する停止モードには、待機時間に制限があります。停止をブロックしているすべてのイベントが1時間以内に発生しない場合、停止コマンドは「ORA-01013: ユーザーによって現行の操作の取消しがリクエストされました」というメッセージを表示して強制終了されます。たとえば、[CTRL]キーを押しながら[C]キーを押して停止プロセスを中断した場合にも、このメッセージが表示されます。インスタンスの停止を中断しようとしないことをお薦めします。停止プロセスが完了してから、インスタンスを再起動してください。

ORA-01013が発生した後は、インスタンスが予測できない状態になると考える必要があります。このため、SHUTDOWNコマンドを再発行して、停止プロセスを継続する必要があります。後続のSHUTDOWNコマンドが引き続き失敗する場合は、SHUTDOWN ABORTコマンドを発行してインスタンスを停止する必要があります。その後でインスタンスを再起動できます。

データベースの静止

データベースを、DBAによるトランザクション、問合せ、フェッチまたはPL/SQL文の実行のみ許可された状態にすることが必要な場合があります。このような状態は、システム上でDBA以外によるトランザクション、問合せ、フェッチまたはPL/SQL文が実行されていないという意味で、静止状態と呼びます。


注意:

静止中のデータベースに関するこの項の説明では、DBAがユーザーSYSまたはSYSTEMとして定義されています。DBAロールを持つユーザーなどの他のユーザーには、ALTER SYSTEM QUIESCE DATABASE文の発行や、データベース静止後の処理の継続は許可されていません。  


データベースを静止状態にすることで、管理者は、それ以外の状態では安全に実行できない処理を実行できます。次の処理を実行できます。

データベースの静止機能がない場合は、データベースを停止し、制限モードで再度オープンする必要があります。これは、特に24時間、365日の可用性が必要なシステムにとっては重大な制限です。データベースの静止によって、ユーザーに対する遮断とデータベースの停止と再起動に伴う停止時間を最小限にできるため、制限が大幅に緩和されます。

データベースが静止中の場合、DBA以外のセッションがアクティブにならないようにするために、データベース・リソース・マネージャの機能が使用されています。したがって、この文が有効な間に現行のリソース・プランを変更しようとすると、その処理はシステムが静止解除されるまでキューに待機します。データベース・リソース・マネージャの詳細は、第25章「Oracle Database Resource Managerを使用したリソース割当ての管理」を参照してください。

データベースの静止状態への変更

データベースを静止状態にするには、次の文を発行します。

ALTER SYSTEM QUIESCE RESTRICTED;

DBA以外のアクティブなセッションは、非アクティブになるまで処理が継続されます。アクティブなセッションとは、トランザクション、問合せ、フェッチまたはPL/SQL文を現在実行しているセッション、または現在なんらかの共有リソース(エンキューなど)を保持しているセッションです。非アクティブなセッションがアクティブになることはできません。たとえば、ユーザーが非アクティブなセッションを強制的にアクティブにしようとしてSQL問合せを発行すると、その問合せは停止したようになります。後でデータベースが静止解除されると、セッションが再開され、ブロックされていた処理が実行されます。

DBA以外のセッションがすべて非アクティブになると、ALTER SYSTEM QUIESCE RESTRICTED文が完了し、データベースは静止状態となります。Oracle Real Application Clusters環境でこの文を発行すると、文を発行したインスタンスだけでなく、すべてのインスタンスが影響を受けます。

ALTER SYSTEM QUIESCE RESTRICTED文は、アクティブなセッションが非アクティブになるまで、長時間待機する場合があります。V$BLOCKING_QUIESCEビューを問い合せると、静止操作をブロックしているセッションを判別できます。このビューでは、1つの列SID(セッションID)のみが返されます。これをV$SESSIONと結合すると、次の例のように、セッションに関する詳細を取得できます。

select bl.sid, user, osuser, type, program
from v$blocking_quiesce bl, v$session se
where bl.sid = se.sid;

これらのビューの詳細は、『Oracle Databaseリファレンス』を参照してください。

データベース静止の要求を中断した場合、またはアクティブなセッションがすべて静止する前にセッションが異常終了した場合は、Oracle Databaseによって、この文による部分的な影響がすべて自動的に取り消されます。

複数のOracle Call Interface(OCI)の連続したフェッチによって問合せが実行されている場合、ALTER SYSTEM QUIESCE RESTRICTED文はすべてのフェッチが完了するまで待機しません。現行のフェッチの完了のみを待機します。

専用サーバー接続の場合も、共有サーバー接続の場合も、この文の発行後、DBA以外のユーザーがログインしようとすると、その処理はデータベース・リソース・マネージャによってすべてキューに送られ、進行しません。ユーザーにはログインが停止したように見えます。データベースが静止解除されると、ログインは再開されます。

文を発行したセッションが終了しても、データベースは静止状態のままです。DBAは、データベースを静止解除される文を明示的に発行するために、データベースにログインする必要があります。


注意:

データベースが静止状態の場合でも、Oracle Databaseのバックグラウンド・プロセスが内部の目的のために更新を実行している可能性があるため、データベースが静止状態の場合はコールド・バックアップを実行できません。また、オンライン・データファイルのヘッダーは引き続きアクセス可能に見えます。このファイル・ヘッダーの状態は、データベースが正しく停止された場合とは異なります。ただし、データベースが静止状態の間でも、オンライン・バックアップ操作は実行できます。  


通常操作へのシステムのリストア

次の文は、データベースを通常の操作にリストアさせます。

ALTER SYSTEM UNQUIESCE;

DBA以外のアクティビティの処理がすべて許可されます。Oracle Real Application Clusters環境では、データベースを静止した場合と同じセッションまたは同じインスタンスでこの文を発行する必要はありません。ALTER SYSTEM UNQUIESCE文を発行したセッションが異常終了した場合、Oracle Databaseサーバーは静止解除を確実に完了します。

インスタンスの静止状態の表示

V$INSTANCEビューのACTIVE_STATE列を問い合せると、インスタンスの現在の状態を表示できます。列の値は、次のいずれかになります。

データベースの一時停止と再開

ALTER SYSTEM SUSPEND文は、データファイル(ファイル・ヘッダーとファイル・データ)および制御ファイルへの入出力(I/O)をすべて停止します。一時停止状態によって、I/Oに干渉されずにデータベースのバックアップを作成できます。データベースを一時停止すると、実行中のすべてのI/O操作の完了が許可され、新しいデータベース・アクセスはキューに待機した状態になります。

SUSPENDコマンドは、インスタンスに固有ではありません。Oracle Real Application Clusters環境では、あるシステムでSUSPENDコマンドを発行すると、内部ロッキング・メカニズムを通じてインスタンス間で停止要求が伝播し、特定のクラスタのアクティブ・インスタンスがすべて停止します。ただし、あるインスタンスの一時停止中に新しいインスタンスを起動すると、新しいインスタンスは一時停止されません。

通常のデータベース操作を再開するには、ALTER SYSTEM RESUME文を使用します。SUSPENDコマンドとRESUMEコマンドは、異なるインスタンスから発行できます。たとえば、インスタンス1、2および3の実行中に、インスタンス1からALTER SYSTEM SUSPEND文を発行した場合は、インスタンス1、2または3から同様にRESUME文を発行できます。

一時停止/再開機能は、ディスクやファイルをミラー化してそのミラーを分割できるシステムで役立ち、バックアップとリストアの代替ソリューションを提供します。書込み中に既存のデータベースからミラー化されたディスクを分割できないシステムを使用している場合は、この一時停止/再開機能を使用すると容易に分割できます。

一時停止したデータベースのコピーにはコミット前の更新が含まれるため、一時停止/再開機能は通常の停止操作の簡易版ではありません。


注意:

表領域をホット・バックアップ・モードに設定する代替手段としてALTER SYSTEM SUSPEND文を使用しないでください。データベースの一時停止操作ではなく、ALTER TABLESPACE BEGIN BACKUP文を使用してください。 


次の文は、ALTER SYSTEM SUSPEND/RESUMEの使用方法を示しています。データベースの状態を確認するために、V$INSTANCEビューを問い合せています。

SQL> ALTER SYSTEM SUSPEND;
System altered
SQL> SELECT DATABASE_STATUS FROM V$INSTANCE;
DATABASE_STATUS
---------
SUSPENDED

SQL> ALTER SYSTEM RESUME;
System altered
SQL> SELECT DATABASE_STATUS FROM V$INSTANCE;
DATABASE_STATUS
---------
ACTIVE

関連項目:

データベースの一時停止/再開機能を使用してデータベースをバックアップする方法の詳細は、『Oracle Databaseバックアップおよびリカバリ・アドバンスト・ユーザーズ・ガイド』を参照してください。 


戻る 次へ
Oracle
Copyright © 2001, 2008, Oracle Corporation.
All Rights Reserved.
目次
目次
索引
索引