Data Guardコマンドライン・インタフェース(DGMGRL)を使用すると、Data Guard Broker構成とそのデータベースを、コマンドラインから直接、あるいはバッチ・プログラムやスクリプトから管理できます。Data Guardコマンドライン・インタフェースは、Data Guard構成を管理するためのOracle Enterprise Managerの代替手段として使用できます。
この章では、Data Guardのコマンドライン・インタフェースの参照情報を示します。この章の内容は、次のとおりです。
DGMGRLを実行するには、SYSDBA
権限が必要です。
コマンドライン・インタフェースを起動するには、Oracleがインストールされているシステム上で、コマンドライン・プロンプトからdgmgrl
と入力します。
% dgmgrl DGMGRL for Linux: Version 11.1.0.7.0 - Production Copyright (c) 2000, 2005, Oracle. All rights reserved. Welcome to DGMGRL, type "help" for information. DGMGRL>
コマンドラインからオプション・パラメータを入力して、Data Guardコマンドライン・インタフェースでのコマンド・プロンプト、バナーおよびメッセージなどの出力の表示方法を指定できます。
また、単一コマンド・モードも使用可能です。このモードのDGMGRLでは、1つのコマンドが実行され、そのコマンドの終了時にDGMGRLも終了します。終了コードとしてコマンドの結果が戻されます。終了コードが0であれば、コマンドは正常終了しています。それ以外の場合は、エラーがあります。
DGMGRLのコマンドラインは次のとおりです。
% dgmgrl [<options>] [<logon> [<command>] ]
DGMGRLコマンドライン・インタフェースの起動時に、次の任意のキーワードを指定します。
<options>
には、次のいずれか1つを選択できます。
-echo
コマンドの入力と出力をデフォルトの表示デバイスに表示します。このパラメータを使用しない場合、コマンドからの出力のみが表示されます。
-logfile
<file-spec> "<dgmgrl-command>"
DGMGRLコマンドライン・インタフェースの処理情報を取得するファイルを指定します。これは特に、ファスト・スタート・フェイルオーバーのオブザーバとして機能させるためにDGMGRLを起動する場合に役立ちます。詳細は、START OBSERVERコマンドを参照してください。
-silent
DGMGRLのコマンド・プロンプト(DGMGRL>
)をデフォルトの表示デバイスに表示しません。このオプションは、コマンド出力をファイルまたは他の表示ツールに送る場合に役立ちます。
<logon>
は次のとおりです。
username [@connect-identifier]
データベースに接続するには、username
と、オプションでconnect-identifier
を入力します。次に、パスワードの入力を求められます。connect-identifier
は、完全指定の接続記述子またはOracleネーミング・メソッド(TNSなど)により解決される名前です。
警告: DGMGRLの起動時にコマンドラインでパスワードを指定することには、安全上のリスクがあります。このリスクは、DGMGRLの起動時はパスワードを省略し、後で求められたときに入力するか、外部の認証方式を使用することで回避できます。 |
オペレーティング・システム認証(リモート・データベースの再起動を除く)、SSLまたはウォレットに格納されたデータベース資格証明を使用する場合は、'/'として接続できます。
<command>
は1つのコマンドです。
次に例を示します。
% dgmgrl sys/ "show database 'North_Sales'"
Password
: password
次の各項で、DGMGRL>
コマンド・プロンプトから入力するコマンドの書式について説明します。
DGMGRLコマンドを使用すると、一度に1つのブローカ構成を作成およびメンテナンスできます。ブローカ構成は、1つのプライマリ・データベースと最大9つのスタンバイ・データベースで構成できます。
コマンドライン・インタフェースの起動後は、表8-1に示す任意のDGMGRLコマンドを入力できます。各コマンドとその関連パラメータの詳細は後述します。
コマンド | 効果 |
---|---|
|
既存のブローカ構成に新しいスタンバイ・データベースのプロファイルを追加します。 |
|
指定のユーザー名を使用して指定のデータベースに接続します。 |
|
指定されたデータベースをスナップショット・スタンバイ・データベースまたはフィジカル・スタンバイ・データベースに変換します。 |
|
ブローカ構成を作成し、プライマリ・データベースのプロファイルを構成に追加します。 |
|
構成とそのすべてのデータベースがブローカによる管理対象から外れるように、構成のブローカ管理を無効化します。 |
|
指定したスタンバイ・データベースのブローカ管理を無効化します。 |
|
ファスト・スタート・フェイルオーバーを無効化します。 |
DISABLE FAST_START FAILOVER CONDITION |
ユーザーによるファスト・スタート・フェイルオーバーの実行条件の削除を可能にします。 |
|
指定したブローカ構成のプロパティ値を変更します。 |
|
ブローカ構成の現在の保護モード設定を変更します。 |
|
指定したデータベースのプロパティ値を変更します。 |
|
ブローカにより指定したデータベースの参照に使用される名前を変更します。 |
|
指定したデータベースの状態を変更します。 |
|
指定したインスタンスの初期化パラメータ・ファイル名を設定します。 |
|
指定したインスタンスのプロパティ値を変更します。 |
|
ブローカ構成とそのすべてのデータベースのブローカ管理を有効化します。 |
|
指定したデータベースのブローカ管理を有効化します。 |
|
ブローカによるプライマリ・データベースからターゲット・スタンバイ・データベースへの自動的なフェイルオーバーを可能にします。 |
ENABLE FAST_START FAILOVER CONDITION |
ユーザーによるファスト・スタート・フェイルオーバーの実行条件の追加を可能にします。 |
|
Data Guardコマンドライン・インタフェースを終了します。 |
|
データベース・フェイルオーバー操作を実行します。この操作では、現在DGMGRLが接続しているスタンバイ・データベースが、プライマリ・データベースのロールにフェイルオーバーされます。 |
|
Data Guardコマンドライン・インタフェースのオンライン・ヘルプを表示します。 |
Data Guardコマンドライン・インタフェースを終了します。 |
|
|
フェイルオーバー後、データベースを回復します。 |
|
すべてのデータベース・プロファイルを含め、ブローカ構成をブローカ構成ファイルから削除します。 |
|
指定したスタンバイ・データベース・プロファイルをブローカ構成から削除します。 |
|
インスタンスに関する情報を、ブローカ構成の既存のデータベース・プロファイルから削除します。 |
|
ブローカ構成に関する情報を表示します。 |
|
指定したデータベースに関する情報を表示します。 |
|
すべてのファスト・スタート・フェイルオーバー関連情報を表示します。 |
|
指定したインスタンスに関する情報を表示します。 |
|
現在実行中のOracleデータベースをシャットダウンします。 |
|
オブザーバを開始します。 |
|
データベースのマウントやオープンなど、SQL*Plusと同じオプションを指定してOracleインスタンスを起動します。 |
|
オブザーバを停止します。 |
|
スイッチオーバー操作を実行します。現行のプライマリ・データベースがスタンバイ・データベースになり、指定したスタンバイ・データベースがプライマリ・データベースになります。 |
DGMGRLを使用するには、次の条件が満たされている必要があります。
手動操作なしでインスタンスを再起動する必要のあるブローカ操作を有効化するには、プライマリとスタンバイのデータベース・インスタンスを含む各ホスト上でOracle Net Servicesを構成する必要があります。特に、listener.oraファイルにインスタンスの静的構成情報が含まれていることが必要です。GLOBAL_DBNAME
属性を、db_unique_name
_DGMGRL.
db_domain
に設定する必要があります。詳細は、2.2項を参照してください。
構成の作成時またはデータベースの追加時に使用する接続識別子は、構成内のすべてのホストから解決可能である必要があります。
関連項目: Oracle Data Guard Brokerの準備および起動の詳細は、第7章を参照してください。スタンバイ・データベースでのネットワーク・ファイルとリスナーの設定の詳細は、『Oracle Database管理者ガイド』を参照してください。 |
Data Guardコマンドライン・インタフェースを使用するには、SYSDBA権限が必要です。SYSDBAはCONNECT
コマンドのデフォルト設定であるため、このコマンドではAS SYSDBA
を指定しないでください。
コマンドで複数のオプションを指定する場合、指定する順序は問われません。
各DGMGRLコマンドの末尾にセミコロンを付ける必要があります。
DGMGRLコマンド文字列の値で指定する文字は、二重引用符(")または一重引用符(')で囲まれていない場合、小文字として解釈されます。たとえば、databaseとDatAbaSeは同じですが、"database"と"DatAbaSe"は異なります。
一重引用符(')、二重引用符(")およびバックスラッシュ(\)が文字列に含まれている場合は、これらの文字のエスケープ文字としてバックスラッシュ(\)を使用できます。
ブローカ構成では、1つ以上のデータベースのシャットダウンと再起動が必要となる操作がいくつかあります。次の条件を満たす場合はほとんど、特定のデータベースのシャットダウンと再起動がDGMGRLによって自動的に行われます。
instance-name
がSID(これは、DGMGRLのみでなくEnterprise Managerにも適用されます)。
ブローカは、最後のCONNECT
コマンドが別のデータベースへの接続に使用された場合でも、最後のCONNECT
コマンドに指定された接続情報を使用してデータベースに接続できる必要があります。
コマンドの例
例1
この例は、ローカル・システム上でDGMGRLコマンドライン・インタフェースに接続する方法を示しています。
% dgmgrl
DGMGRL for Linux: Version 11.1.0.7.0 - Production
Copyright (c) 2000, 2005, Oracle. All rights reserved.
Welcome to DGMGRL, type "help" for information.
DGMGRL> CONNECT sys;
Password: password
Connected.
例2
この例は、リモート・システム上でData Guard(DGMGRL)コマンドライン・インタフェースに接続する方法を示しています。
DGMGRL> CONNECT sys@remote-stby;
Password: password
Connected.
コマンドライン・インタフェースでの作業を完了し、オペレーティング・システムに戻るには、DGMGRLコマンド・プロンプトからEXIT
またはQUIT
コマンドを入力します。次に例を示します。
DGMGRL> EXIT;
新しいスタンバイ・データベースのプロファイルを作成して既存のブローカ構成に追加します。AS CONNECT IDENTIFIER
句は、オプションです。この句を指定しなかった場合、ブローカはプライマリ・データベースのLOG_ARCHIVE_DEST_
n
初期化パラメータを検索して、追加するデータベースに対応するエントリを探します。
MAINTAINED AS
句を使用して、スタンバイ・データベースのタイプを指定できます。この句を指定しなければ、スタンバイ・データベースのタイプがフィジカル、ロジカルまたはスナップショットであるかをブローカが自動的に判別します。
書式
ADD DATABASE database-name
[AS CONNECT IDENTIFIER IS connect-identifier]
コマンド・パラメータ
ブローカでこのスタンバイ・データベースを参照するために使用される名前。この名前は、対応するデータベースのDB_UNIQUE_NAME
初期化パラメータの値と一致する(大/小文字は区別されません)必要があります。
完全指定の接続記述子またはOracle Net Servicesのネーミング・メソッド(TNSなど)により解決される名前です。指定した値は、構成可能なデータベース・プロパティDGConnectIdentifier
の初期値としても使用されます。このオプションを指定しない場合、ブローカがプライマリ・データベースのLOG_ARCHIVE_DEST_
n
パラメータを検索して、対応するスタンバイ・データベースのエントリを探し、そのSERVICE
値を接続識別子として使用します。
使用上の注意
このコマンドを発行するには、プライマリ・データベースまたは構成内にすでに存在する有効化されたスタンバイ・データベースに接続する必要があります。
ブローカでは、指定したconnect-identifier
が、他のデータベースから指定したデータベースへの通信に使用されます。したがって、構成内のすべてのデータベースから指定のデータベースへのアドレス指定に、connect-identifier
を使用できることを確認する必要があります。たとえば、tnsnames.oraファイルを使用してconnect-identifier
を解決する場合は、すべてのtnsnames.oraファイルで同じ接続記述子に解決されることと、解決された接続記述子を使用して、このADD DATABASE
コマンドで指定するデータベースにアクセスできることを確認します。追加するデータベースがOracle RACデータベースである場合、RACのすべてのインスタンスにアクセスできる接続識別子を指定する必要があります(RACのすべてのインスタンスにFAILOVER
属性を設定することをお薦めします)。
関連項目: 『Oracle Database Net Services管理者ガイド』 |
接続できない場合、ブローカでは新しいデータベースが構成に追加されません。
MAINTAINED AS
句は、このリリースで廃止されました。スタンバイ・データベースのタイプは、ブローカによって自動的に判別されます。
コマンドの例
例1
次の例に、データベースDR_Sales
を追加する方法を示します。
DGMGRL> ADD DATABASE DR_Sales AS CONNECT IDENTIFIER IS DR_Sales.foo.com; Database "DR_Sales" added
書式
CONNECT username [@connect-identifier];
コマンド・パラメータ
データベースへの接続に使用するユーザー名。ユーザー名と、オプションでconnect-identifierを入力すると、パスワードの入力を求められます。
このパラメータはオプションです。このパラメータは、接続先データベースのOracle Net Services接続識別子を構成します。正確な構文は、Oracleのインストールで使用されるOracle Net Services通信プロトコルによって異なります。
使用上の注意
接続先データベースに有効なユーザー名とパスワードを指定する必要があります。指定するユーザー名には、SYSDBA権限が必要です。SYSDBAはCONNECT
コマンドのデフォルト設定であるため、このコマンドでAS SYSDBA
を指定する必要はありません。
CONNECT
コマンドでエラーが戻される場合は、有効なconnect-identifier
を指定したことを確認してください。
コマンドの例
例1
この例では、ローカル・システム上のデフォルト・データベースに接続しています。
DGMGRL> CONNECT sys;
Password: password
Connected.
例2
この例では、connect-identifier
がNorth_Sales.foo.com
のリモート・データベースに接続します。
DGMGRL> CONNECT sys@North_Sales.foo.com;
Password: password
Connected.
例3
この例では、コマンドラインで接続情報を表示できないように、CONNECT '/'
を使用してデータベースに接続しています。
DGMGRL> CONNECT /@North_Sales.foo.com;
CONNECT '/'
を使用するには、Oracleウォレットを設定する必要があります。Oracleウォレットを設定することで、スクリプトでデータベース接続情報を指定せずに、オブザーバをバックグラウンド・ジョブとして安全に起動および実行するためのスクリプトを記述できます。
関連項目: Oracleウォレットの詳細は、『Oracle Database Advanced Security管理者ガイド』を参照してください。 |
フィジカル・スタンバイ・データベースをスナップショット・スタンバイ・データベースに変換するか、スナップショット・スタンバイ・データベースをフィジカル・スタンバイ・データベースに戻します。
スナップショット・スタンバイ・データベースは、フィジカル・スタンバイ・データベースからスナップショット・スタンバイ・データベースへの変換によって作成される完全に更新可能なスタンバイ・データベースです。フィジカルまたはロジカル・スタンバイ・データベースと同様に、スナップショット・スタンバイ・データベースは、プライマリ・データベースからREDOデータを受信し、アーカイブします。フィジカルまたはロジカル・スタンバイ・データベースとは異なり、スナップショット・スタンバイ・データベースは、受信したREDOデータを適用しません。スナップショット・スタンバイ・データベースが受信したREDOデータは、スナップショット・スタンバイが元のフィジカル・スタンバイ・データベースに変換され、スナップショット・スタンバイ・データベースに対するすべてのローカルな更新が破棄された後に適用されます。
スナップショット・スタンバイ・データベースの最適な使用例は、更新可能なフィジカル・スタンバイ・データベースのスナップショットが一時的に必要な場合です。スナップショット・スタンバイ・データベースでは、フィジカル・スタンバイに戻るまで受信したREDOデータが適用されないため、ロール推移の実行に要する時間は、適用する必要があるREDOデータの量に正比例します。
スナップショット・スタンバイ・データベースの詳細は、『Oracle Data Guard概要および管理』を参照してください。
書式
CONVERT DATABASE db_unique_name TO {SNAPSHOT | PHYSICAL} STANDBY;
使用上の注意
ファスト・スタート・フェイルオーバーのターゲットである場合、フィジカル・スタンバイ・データベースをスナップショット・スタンバイ・データベースに変換できません。「ORA-16420: ファスト・スタート・フェイルオーバー(FSFO)ターゲットはスナップショット・スタンバイに変換できません
」というエラーが表示されます。
DGMGRL ADD DATABASEコマンドを使用して、既存のスナップショット・スタンバイ・データベースをData Guard Broker構成にインポートしてください。
スナップショット・スタンバイ・データベースを、スイッチオーバーまたはファスト・スタート・フェイルオーバーのターゲットにすることはできません。
ファスト・スタート・フェイルオーバーが無効化されている場合、スナップショット・スタンバイ・データベースは、手動フェイルオーバーのターゲットにすることができます。
SHOW CONFIGURATION
またはSHOW DATABASE
コマンドを使用して、変換の結果を確認できます。次に例を示します。
DGMGRL> SHOW CONFIGURATION; Configuration Name: DRSolution Enabled: YES Protection Mode: MaxPerformance Databases: North_Sales - Primary database DR_Sales - Snapshot standby database Fast-Start Failover: DISABLED Current status for "DRSolution": SUCCESS
スナップショット・スタンバイ・データベースをフィジカル・スタンバイ・データベースに戻すと、フィジカル・スタンバイ・データベースのデフォルトのAPPLY-ON
の状態になります。
コマンドの例
例1
次のコマンドを発行して、フィジカル・スタンバイ・データベースをスナップショット・スタンバイ・データベースに変換します。
DGMGRL> CONVERT DATABASE 'DR_Sales' to SNAPSHOT STANDBY; Converting database "DR_Sales" to a Snapshot Standby database, please wait... Database "DR_Sales" converted successfully
例2
次のコマンドを発行して、スナップショット・スタンバイ・データベースをフィジカル・スタンバイ・データベースに戻します。
DGMGRL> CONVERT DATABASE 'DR_Sales' to PHYSICAL STANDBY; Converting database "DR_Sales" to a Physical Standby database, please wait... Operation requires shutdown of instance "dr_sales1" on database "DR_Sales" Shutting down instance "dr_sales1"... Database closed. Database dismounted. ORACLE instance shut down. Operation requires startup of instance "dr_sales1" on database "DR_Sales" Starting instance "dr_sales1"... ORACLE instance started. Database mounted. Continuing to convert database "DR_Sales" ... Operation requires shutdown of instance "dr_sales1" on database "DR_Sales" Shutting down instance "dr_sales1"... ORA-01109: database not open Database dismounted. ORACLE instance shut down. Operation requires startup of instance "dr_sales1" on database "DR_Sales" Starting instance "dr_sales1"... ORACLE instance started. Database mounted. Database "DR_Sales" converted successfully
新しいブローカ構成を作成し、プライマリ・データベースのプロファイルを構成に追加します。
書式
CREATE CONFIGURATION configuration-name AS
PRIMARY DATABASE IS database-name
CONNECT IDENTIFIER IS connect-identifier;
コマンド・パラメータ
作成する構成のわかりやすい名前。有効な名前には英数字が含まれます。名前に空白を含める場合は、その名前を二重引用符または一重引用符で囲む必要があります。名前は30バイト以内で指定してください。
ブローカでプライマリ・データベースを参照するために使用される名前。この名前は、対応するデータベースのDB_UNIQUE_NAME
初期化パラメータの値と一致する(大/小文字は区別されません)必要があります。
完全指定の接続記述子またはOracle Net Servicesのネーミング・メソッド(TNSなど)により解決される名前です。指定した値は、構成可能なデータベース・プロパティDGConnectIdentifier
の初期値としても使用されます。
使用上の注意
ブローカ構成は、グループとして管理する必要のある1つ以上のデータベースの名前付きコレクションです。各コマンド・パラメータの値を指定する必要があります。デフォルト値はありません。
このコマンドを発行するには、プライマリ・データベースに接続する必要があります。
ブローカでは、指定したconnect-identifier
が、他のデータベースから指定したデータベースへの通信に使用されます。したがって、構成内の他のすべてのデータベースから指定のデータベースへのアドレス指定に、connect-identifier
を使用できることを確認する必要があります。たとえば、tnsnames.oraファイルを使用してconnect-identifier
を解決する場合は、すべてのtnsnames.oraファイルで同じ接続記述子に解決されることと、解決された接続記述子を使用して、このCREATE CONFIGURATION
コマンドで指定するプライマリ・データベースにアクセスできることを確認します。
ブローカ構成の作成後にスタンバイ・データベースを追加するには、ADD DATABASEコマンドを使用します。
コマンドの例
例1
次の例では、プライマリ・データベースNorth_Sales
を含む新しいブローカ構成DRSolution
を作成しています。
DGMGRL> CREATE CONFIGURATION 'DRSolution' AS > PRIMARY DATABASE IS 'North_Sales' > CONNECT IDENTIFIER IS North_Sales.foo.com; Configuration "DRSolution" created with primary database "North_Sales"
構成とそのすべてのデータベースがブローカによる管理対象から外れるように、構成のブローカ管理を無効化します。
書式
DISABLE CONFIGURATION
コマンド・パラメータ
なし
使用上の注意
無効化された構成およびそこに含まれるすべてのデータベースが、ブローカで管理されなくなります。
プライマリ・データベースのブローカ管理を無効にするには、DISABLE CONFIGURATION
コマンドを使用する必要があります。
このコマンドは、構成ファイルからブローカ構成を削除しません。構成を削除する方法の詳細は、REMOVE CONFIGURATIONコマンドを参照してください。
構成が無効になっている間、データベース・プロパティを編集したり構成の保護モードを変更できます。ただし、プロパティや保護モードの変更結果は、構成が有効化されるまで有効になりません。
このコマンドは、ファスト・スタート・フェイルオーバーが有効になっている場合は実行できません。
コマンドの例
例1
次の例では、ブローカ構成およびそのすべてのデータベースの管理を無効化しています。
DGMGRL> DISABLE CONFIGURATION; Disabled.
指定したスタンバイ・データベースのブローカ管理を無効化します。つまり、ブローカではこのデータベースの状態を変更できなくなり、ブローカはデータベースの健全性ステータスや監視可能なデータベース・プロパティを監視しません。
書式
DISABLE DATABASE database-name;
コマンド・パラメータ
無効化するスタンバイ・データベースの名前。
使用上の注意
プライマリ・データベース名は指定できません。
プライマリ・データベースとすべてのスタンバイ・データベースを無効化するには、DISABLE CONFIGURATION
コマンドを使用します。
スタンバイ・データベースを1つのみ無効化する場合、フェイルオーバー・オプションを使用できません。このスタンバイ・データベースは、再び有効化するまでは実行できなくなります。
ファスト・スタート・フェイルオーバーが有効化されているとき、このコマンドを使用してファスト・スタート・フェイルオーバーのターゲット・データベースを無効にすることはできません。
コマンドの例
例1
次の例に、データベースDR_Sales
を無効化する方法を示します。
DGMGRL> DISABLE DATABASE 'DR_Sales'; Disabled.
ファスト・スタート・フェイルオーバーを無効化し、オブザーバによりターゲット・スタンバイ・データベースへのフェイルオーバーが開始されないようにします。詳細は、5.5.5項「ファスト・スタート・フェイルオーバーの無効化」を参照してください。
書式
DISABLE FAST_START FAILOVER [ FORCE ];
コマンド・パラメータ
なし
使用上の注意
プライマリ・データベースとターゲット・スタンバイ・データベースにネットワーク接続がある場合、ブローカ構成内のすべてのデータベースでファスト・スタート・フェイルオーバーを無効化するには、DISABLE FAST_START FAILOVER
をFORCE
オプションを指定せずに使用します。無効化操作中にエラーが発生した場合、ブローカによりエラー・メッセージが戻され、無効化操作が停止されます。エラー状態をオーバーライドし、接続先データベースのファスト・スタート・フェイルオーバーを無効化するには、FORCE
オプションを指定してDISABLE FAST_START FAILOVER
コマンドを再発行する必要があります。詳細は、5.5.5項「ファスト・スタート・フェイルオーバーの無効化」を参照してください。
プライマリ・データベースとターゲット・スタンバイ・データベース間のネットワークが切断されている場合、またはコマンドを受信するデータベースに、プライマリ・データベースとの接続がない場合には、FORCE
オプションを指定してDISABLE FAST_START FAILOVER
を使用します。FORCE
オプションは、エラー発生時でも、接続先データベースのファスト・スタート・フェイルオーバーを無効化します。
オブザーバおよびターゲットのスタンバイ・データベースから切断されたプライマリ・データベース上でFORCE
オプションを指定してファスト・スタート・フェイルオーバーを無効化しても、オブザーバによる、ターゲットのスタンバイ・データベースへのファスト・スタート・フェイルオーバーの開始を無効にはできません。
ブローカ構成のいずれかのデータベースに接続されている場合に、ファスト・スタート・フェイルオーバーを無効化できます。
ターゲットのスタンバイ・データベース上で強制オプション付きで無効化され、その後プライマリ・データベースとの接続が再開された場合、ファスト・スタート・フェイルオーバーは、構成内のすべてのデータベースで無効化されています。
両方のデータベースがネットワークに接続している場合、FORCE
オプションを指定してファスト・スタート・フェイルオーバーを無効化すると、ターゲット・スタンバイ・データベースのファスト・スタート・フェイルオーバーが無効になります。
コマンドの例
例1
次の例に、ファスト・スタート・フェイルオーバーを無効化する方法を示します。
DGMGRL> DISABLE FAST_START FAILOVER; Disabled.
ユーザーによるファスト・スタート・フェイルオーバーの実行条件の削除を可能にします。
書式
DISABLE FAST_START FAILOVER CONDITION value;
コマンド・パラメータ
可能な値は、SHOW FAST_START FAILOVER
コマンドで健全性条件またはOracleエラー番号として示される値です。
使用上の注意
条件が認識されないとエラーが発生します。条件が設定されていないと、エラーは発生しません。
コマンドの例
例1
DISABLE FAST_START FAILOVER CONDITION "Corrupted Controlfile";
破損した制御ファイルが検出されてもすぐに自動的にファスト・スタート・フェイルオーバーが開始されないように指定します。
例2
DISABLE FAST_START FAILOVER CONDITION 27102;
ORA-27102
エラーによってすぐに自動的にファスト・スタート・フェイルオーバーが開始されないように指定します。
書式
EDIT CONFIGURATION SET PROPERTY property-name = value;
コマンド・パラメータ
構成プロパティの名前
新しいプロパティ値。
使用上の注意
プライマリ・データベースに、またはそのプライマリ・データベースと接続された構成内の任意のスタンバイ・データベースに接続されている場合に、このコマンドを発行します。
構成の現在のプロパティ情報を表示するには、SHOW CONFIGURATION
コマンドを使用します。
コマンドの例
例1
次の例に、FastStartFailoverThreshold
構成プロパティを90秒に設定する方法を示します。
DGMGRL> EDIT CONFIGURATION SET PROPERTY FastStartFailoverThresdhold=90;
書式
EDIT CONFIGURATION SET PROTECTION MODE ASprotection-mode;
コマンド・パラメータ
構成が有効な場合に、その構成で実行するデータ保護モード。可能な保護モードは次のとおりです。
MAXPROTECTION
MAXAVAILABILITY
MAXPERFORMANCE
使用上の注意
EDIT CONFIGURATION
コマンドを使用して保護モードをMAXPROTECTION
モードまたはMAXAVAILABILITY
モードに設定する前に、1つ以上のスタンバイ・データベースで構成可能なデータベース・プロパティLogXptMode
がSYNC
に設定されていることを確認してください。
次の表は、構成の保護モードと、REDO転送サービスの対応する最低限の設定を示しています。
保護モード | REDO転送 | スタンバイREDOログ・ファイルの要否 | ファスト・スタート・フェイルオーバーとの併用 |
---|---|---|---|
MAXPROTECTION |
SYNC |
される | 不要 |
MAXAVAILABILITY |
SYNC |
される | される |
MAXPERFORMANCE |
ASYNC |
される | される |
構成のデフォルトの保護モードはMAXPERFORMANCE
です。
ファスト・スタート・フェイルオーバーを有効化するには、MAXAVAILABILITY
またはMAXPERFORMANCE
が必要です。
このコマンドは、ファスト・スタート・フェイルオーバーが有効になっている場合は実行できません。
保護モードの変更後、必要な場合はブローカによりプライマリ・データベースが自動的に再起動されます。
SHOW CONFIGURATION
コマンドを使用して構成の現在の保護モードを表示します。
DGMGRL> SHOW CONFIGURATION;
Configuration
Name: DRSolution
Enabled: YES
Protection Mode: MaxPerformance
Databases:
North_Sales - Primary database
DR_Sales - Physical standby database
Fast-Start Failover: DISABLED
Current status for "DRSolution":
SUCCESS
EDIT CONFIGURATION
コマンドの入力時に構成のブローカ管理が無効になっている場合、構成の保護モードは、次回ENABLE CONFIGURATIONコマンドを使用して構成を有効化するまで有効にはなりません。
コマンドの例
例1
次の例は、ブローカ構成をMAXAVAILABILITY
保護モードにアップグレードする方法を示しています。
次のように、スタンバイ・データベースでスタンバイREDOログ・ファイルが構成されていること、REDO転送サービスがSYNC
に設定されていることを確認します。
DGMGRL> EDIT DATABASE 'DR_Sales' SET PROPERTY 'LogXptMode'='SYNC'; Property "LogXptMode" updated DGMGRL> EDIT CONFIGURATION SET PROTECTION MODE AS MAXAVAILABILITY; Succeeded.
書式
EDIT DATABASE database-name
SET PROPERTY property-name value;
コマンド・パラメータ
プロパティ値を変更するデータベースの名前。
データベース固有の既存のプロパティの名前。これがOracle RACデータベースの場合、このプロパティを変更するとデータベースのインスタンスすべてに影響します。
新しいプロパティ値。
注意: このコマンドを使用してインスタンスごとのプロパティの値を変更できるのは、指定したデータベースに関してブローカでインスタンスが1つしか認識されていない場合のみです。ブローカでデータベースのインスタンスが複数認識されている場合は、このコマンドを使用してインスタンスごとのプロパティを変更しようとしても拒否されます。インスタンスごとのプロパティの値の変更には、EDIT INSTANCE(プロパティ) のみを使用することをお薦めします。 |
コマンドの例
例1
データベース・レベルの構成可能なデータベース・プロパティを編集します。
DGMGRL> EDIT DATABASE 'North_Sales' SET PROPERTY 'ArchiveLagTarget'=1200; Property "ArchiveLagTarget" updated
例2
インスタンス・レベルで、非RACデータベースの構成可能なデータベース・プロパティを編集します。
DGMGRL> EDIT DATABASE 'DR_Sales' SET PROPERTY > 'StandbyArchiveLocation'='/archfs/arch/'; Property "StandbyArchiveLocation" updated
例3
Oracle RACデータベースのインスタンス・レベルのプロパティを編集します。プロパティの変更が適用されるインスタンスが明らかでないため、このコマンドは失敗します。
DGMGRL> EDIT DATABASE 'North_Sales' SET PROPERTY > 'StandbyArchiveLocation'='/archfs/arch/'; Error: ORA-16587: ambiguous object specified to Data Guard broker Failed.
指定されたデータベースを参照するためにブローカが使用する、構成内のそのデータベースのプロファイルに記録されている名前を変更します。
書式
EDIT DATABASE database-name
RENAME TO new-database-name;
コマンド・パラメータ
変更するデータベース名。
新しいデータベース名。
使用上の注意
このコマンドを使用して、このデータベースのDB_UNIQUE_NAME
初期化パラメータの変更を追跡します。
注意: database-name は、そのデータベースのDB_UNIQUE_NAME 初期化パラメータの値と常に一致する必要があります。 |
このコマンドを実行できるのは、名前を変更するデータベースのブローカ管理が無効化されている場合のみです。
コマンドの例
例1
次の例に、データベースを編集して名前を変更する方法を示します。
DGMGRL> DISABLE DATABASE 'DR_Sales_typo'; Disabled. DGMGRL> EDIT DATABASE 'DR_Sales_typo' RENAME TO 'DR_Sales'; Succeeded. DGMGRL> ENABLE DATABASE 'DR_Sales'; Enabled.
書式
EDIT DATABASE database-name
SET STATE = state
[WITH APPLY INSTANCE = instance-name];
コマンド・パラメータ
状態を変更するデータベースの名前。
データベースを実行する状態。可能な状態は次のとおりです。
TRANSPORT-ON
(プライマリ・データベースのみ)TRANSPORT-OFF
(プライマリ・データベースのみ)APPLY-ON
(フィジカルまたはロジカル・スタンバイ・データベースのみ)APPLY-OFF
(フィジカルまたはロジカル・スタンバイ・データベースのみ)Oracle RACスタンバイ・データベースの場合に、適用インスタンスにするインスタンスの名前。
使用上の注意
ターゲットの状態がAPPLY-ON
で、このデータベースが現在フィジカルまたはロジカル・スタンバイ・データベースである場合は、オプションのWITH APPLY INSTANCE
句で適用インスタンスを指定します。
ターゲットの状態がAPPLY-ON
ではない場合、またはデータベースが現在プライマリ・ロールになっている場合は、WITH APPLY INSTANCE
句を指定しても無視されます。
スナップショット・スタンバイ・データベースの状態は変更できません。
このデータベースの状態変更は、Oracle RACデータベースのすべてのインスタンスに影響します。
コマンドの例
次の各例に、データベースの状態を変更する方法を示します。
例1
DGMGRL> EDIT DATABASE 'DR_Sales' SET STATE='APPLY-ON'; Succeeded.
指定したインスタンスの初期化パラメータ・ファイル名を設定します。
書式
EDIT DATABASE instance-name
[ON DATABASE database-name]
SET AUTO PFILE [= { initialization-file | OFF } ];
コマンド・パラメータ
初期化パラメータ・ファイルを指定するインスタンスの名前(SID)。
instance-name
が関連付けられているデータベースの名前。
後続のブローカ操作でインスタンスを自動的に起動する必要がある場合は、そのインスタンスの起動操作を実行します。SET AUTO PFILE
をOFF
に設定すると、そのインスタンスの自動再起動は無効化されます。そのインスタンスを後続の操作で起動する必要がある場合は、手動で起動する必要があります。インスタンスに対してSET AUTO PFILE
を指定しない場合、自動起動操作では初期化パラメータ・ファイルがデフォルト位置で検索されます。
使用上の注意
instance-name
には、構成全体で一意の名前を指定できます。instance-name
が一意ではない場合、database-name
およびinstance-name
の両方を指定してインスタンスを完全に識別する必要があります。
SET AUTO PFILE
は、現行のDGMGRLセッションの存続期間中にのみ有効です。DGMGRLを終了して再起動した場合は、SET AUTO PFILE
を再指定する必要があります。
コマンドの例
例1
次の例に、データベースのインスタンスを編集する方法を示します。
DGMGRL> EDIT INSTANCE 'dr_sales1' ON DATABASE 'DR_Sales' > SET AUTO PFILE='initsales1.ora'; Instance 'dr_sales1' updated
書式
EDIT DATABASE instance-name
[ON DATABASE database-name]
SET PROPERTY property-name = value;
コマンド・パラメータ
インスタンスごとのプロパティ値を変更するインスタンスの名前(SID)。
instance-name
が関連付けられているデータベースの名前。
新しい値を設定するインスタンスごとのプロパティの名前。
新しいプロパティ値。
使用上の注意
instance-name
には、構成全体で一意の名前を指定できます。instance-name
が一意ではない場合、database-name
およびinstance-name
の両方を指定してインスタンスを完全に識別する必要があります。
このコマンドは、データベース固有のプロパティの変更には使用できません。
コマンドの例
例1
インスタンス・レベルのプロパティを編集します。
DGMGRL> EDIT INSTANCE 'sales1' ON DATABASE 'North_Sales' > SET PROPERTY 'StandbyArchiveLocation'='/archfs/arch/'; Property "StandbyArchiveLocation" updated.
例2
データベース・レベルのプロパティを編集します。この操作は許可されません。
DGMGRL> EDIT INSTANCE 'sales1' ON DATABASE 'North_Sales' > SET PROPERTY 'LogXptMode'='SYNC'; Error: ORA-16586: could not edit database property through instance Failed.
すべてのデータベースを含むブローカ構成をブローカでアクティブに管理できるようにします。
書式
ENABLE CONFIGURATION
コマンド・パラメータ
なし
使用上の注意
このコマンドを使用すると、プライマリ・データベースとすべてのスタンバイ・データベース(スタンバイ・データベースがユーザーによって明示的に無効化されていない場合)をブローカで管理できるようになります。
デフォルトでは、構成のデータベースのブローカ管理は、プライマリ・データベースではTRANSPORT-ON
状態で有効化され、REDO転送サービスがオンになり、スタンバイ・データベースではAPPLY-ON
状態で有効化され、ログ適用サービスが起動します。EDIT DATABASE(状態)コマンドを使用して任意のデータベースの状態を変更できますが、対象のデータベースまたは構成全体が無効になっている場合は変更できません。
構成に関する情報を表示するには、SHOW CONFIGURATIONコマンドを使用します。
コマンドの例
例1
次の例では、ブローカ構成の管理を有効化しています。
DGMGRL> ENABLE CONFIGURATION; Enabled.
指定したスタンバイ・データベースのブローカ管理を有効化します。
書式
ENABLE DATABASE database-name;
コマンド・パラメータ
ブローカ管理を有効化するスタンバイ・データベースの名前。
使用上の注意
前のフェイルオーバー操作またはスイッチオーバー操作の結果、ブローカによりスタンバイ・データベースが無効化されている場合があります。データベースを再有効化する方法は、5.4.3項を参照してください。
デフォルトでは、フィジカルまたはロジカル・スタンバイ・データベースのブローカ管理はAPPLY-ON
状態で有効化され、ログ適用サービスが有効化されます。データベースが有効になっている場合にのみ、EDIT DATABASE(状態)コマンドを使用してスタンバイ・データベースの状態を変更できます。
構成に関する情報を表示するには、SHOW DATABASEコマンドを使用します。
Oracle RACデータベースの場合は、インスタンスを1つ起動してマウントすれば、このコマンドが正常に実行されます。
コマンドの例
例1
次の例に、データベースDR_Sales
を有効化する方法を示します。
DGMGRL> ENABLE DATABASE 'DR_Sales'; Enabled.
ブローカによる、具体的に選択されたスタンバイ・データベースへのフェイルオーバーが可能になり、フェイルオーバーを起動するために手動による手順を実行する必要がありません。詳細は、5.5.2項「ファスト・スタート・フェイルオーバーの有効化」を参照してください。
書式
ENABLE FAST_START FAILOVER;
コマンド・パラメータ
なし
使用上の注意
このコマンドを発行してファスト・スタート・フェイルオーバーを有効化する前に、5.5.1項で説明する前提条件を満たす必要があります。
ENABLE FAST_START FAILOVER
コマンドの発行により、フェイルオーバーが起動されることはありません。オブザーバが、構成を監視し、フェイルオーバーの条件が満たされた場合に、ファスト・スタート・フェイルオーバーを開始できるようにするだけです。
ブローカ構成のデータベースに接続されている間は、ファスト・スタート・フェイルオーバーを有効化できます。
ファスト・スタート・フェイルオーバーを有効化した後にオブザーバを開始しない場合、プライマリ・データベースとターゲットのスタンバイ・データベースにORA-16819
の警告が表示されます。次に例を示します。
DGMGRL> SHOW DATABASE 'North_Sales'; Database Name: North_Sales Role: PRIMARY Enabled: YES Intended State: TRANSPORT-ON Instance(s): sales1 Current status for "North_Sales": Warning: ORA-16819: fastsStart failover observer not started
複数のスタンバイ・データベースを含むブローカ構成でファスト・スタート・フェイルオーバーを有効化する場合は、目的のターゲット・スタンバイ・データベースを指すようにFastStartFailoverTarget
構成プロパティをプライマリ・データベース上で設定する必要があります。プライマリ・データベースおよびターゲット・スタンバイ・データベースの両方が次の条件を満たしている必要があります。
スタンバイREDOログが構成されていること
構成可能なデータベース・プロパティLogXptMode
がSYNC
に設定され、保護モードがMAXAVAILABILITY
に設定されているか、LogXptMode
プロパティがASYNC
に設定され、保護モードがMAXPERFORMANCE
に設定されていること
プライマリ・データベースとスタンバイ・データベースの両方で「データベースをフラッシュバック」が有効化されていること
FastStartFailoverTarget
構成プロパティの詳細は、5.5.2項の手順2、および9.2.14項を参照してください。
ファスト・スタート・フェイルオーバーを有効化した後は、5.5.2.2項「ファスト・スタート・フェイルオーバーが有効化されている場合の制限事項」の説明にある制約に従う必要があります。
コマンドの例
例1
次の例では、ファスト・スタート・フェイルオーバーを有効化しています。
DGMGRL> ENABLE FAST_START FAILOVER; Enabled.
例2
次の例では、最大パフォーマンス・モードで動作している構成で、ファスト・スタート・フェイルオーバーが正常に有効化されました。
DGMGRL> SHOW FAST_START FAILOVER; Fast-Start Failover: ENABLED Threshold: 30 seconds Target: DR_Sales Observer: (none) Lag Limit: 30 seconds Shutdown Primary: TRUE Auto-reinstate: TRUE Configurable Failover Conditions Health Conditions: Corrupted Controlfile YES Corrupted Dictionary YES Inaccessible Logfile NO Stuck Archiver NO Datafile Offline YES Oracle Error Conditions: (none)
ファスト・スタート・フェイルオーバーを実行する追加条件を指定します。
書式
ENABLE FAST_START FAILOVER CONDITION value;
コマンド・パラメータ
可能な値は、SHOW FAST_START FAILOVER
コマンドで健全性条件またはOracleエラー番号として示される値です。
使用上の注意
可能な値は、データベース健全性チェック機能によって保持されるセットまたはいずれかのORA-xxxxエラーに対応する番号です。
健全性チェック機能によって保持される条件は将来変更される場合がありますが、いくつかの一般的な例が表8-2に示されています。
表8-2 健全性条件の例
健全性条件 | 説明 |
---|---|
データファイル・オフライン |
書込みエラーによってデータファイルがオフラインになりました。 |
破損した制御ファイル |
制御ファイルが破損しました。 |
破損したディクショナリ |
重要なデータベース・オブジェクトのディクショナリが破損しました。 |
アクセス不可能なログ・ファイル |
I/Oエラーにより、LGWRがログ・グループのどのメンバーにも書き込むことができません。 |
スタック・アーカイバ |
デバイスに空き容量がないかデバイスを使用できないためにアーカイバがREDOログをアーカイブできません。 |
デフォルトでは、「データファイル・オフライン」、「破損した制御ファイル」、「破損したディクショナリ」が有効になっています。指定された値が認識されないとエラーが発生します。条件がすでに設定されている場合、エラーは発生しません。
SHOW FAST_START FAILOVER
コマンドでこれらの構成可能な条件を表示できます。
コマンドの例
例1
ENABLE FAST_START FAILOVER CONDITION "Corrupted Controlfile";
破損した制御ファイルが検出された場合、ファスト・スタート・フェイルオーバーを実行するように指定します。
例2
ENABLE FAST_START FAILOVER CONDITION 27102;
ORA-27102
エラーが発生した場合、ファスト・スタート・フェイルオーバーを実行するように指定します。
書式
EXIT;
コマンド・パラメータ
なし
使用上の注意
このコマンドの効果は、QUITコマンドと同じです。
このコマンドの実行には、データベース接続は不要です。ただし、接続されている場合は、このコマンドにより接続が解除されます。
コマンドの例
例1
次の例に、コマンドライン・インタフェースを終了する方法を示します。
DGMGRL> EXIT;
指定したターゲットのスタンバイ・データベースをプライマリ・データベースのロールに変更するフェイルオーバーを開始します。このタイプのフェイルオーバーは、手動フェイルオーバーと呼びます。詳細は、5.4項「手動フェイルオーバー」を参照してください。
注意: フェイルオーバーを実行すると、スタンバイ・データベースがプライマリ・データベースのロールに推移するため、フェイルオーバーは、プライマリ・データベースに障害が発生するか使用不可になり、適時にリカバリできない場合に実行してください。フェイルオーバーの結果、実行時に有効になっている保護モード、およびターゲット・スタンバイ・データベースがプライマリ・データベースと同期化されていたかどうかによっては、データが消失する場合があります。プライマリ・データベースに障害がなく、データの消失なしに現在のプライマリ・データベースとスタンバイ・データベースのロールを切り替えるには、 |
書式
FAILOVER TO database-name
[ IMMEDIATE ];
コマンド・パラメータ
プライマリ・データベース・ロールへのフェイルオーバーの対象となるフィジカル、ロジカルまたはスナップショット・スタンバイ・データベースの名前。
使用上の注意
指定したスタンバイ・データベースは、プライマリ・データベースに障害が発生する前に有効化されている必要があります。ただし、有効化されているスタンバイ・データベースが停止している場合は、フェイルオーバー操作の候補とみなすことができます。この場合は、DGMGRLのSTARTUP
コマンドを使用してスタンバイ・データベースを再起動してからFAILOVER
コマンドを発行します。
フェイルオーバーは、指定したスタンバイ・データベースに対して動作し、スタンバイ・データベースのロールがプライマリ・データベースのロールに変更されます。フェイルオーバーに関係しない他のスタンバイ・データベースは、スタンバイ・ロールのままです。
FAILOVER
コマンドを発行する前に、新しいプライマリ・データベースになるスタンバイ・データベースに接続していることを確認します。必要な場合は、CONNECTコマンドを発行してフェイルオーバーするスタンバイ・データベースに接続します。
オプションを指定せずにFAILOVER
コマンドを発行すると、フェイルオーバー・ターゲットとして選択したスタンバイ・データベースにより、プライマリ・ロールへの変更前に受信した未適用のREDOがすべて適用されます。これを完全フェイルオーバーと呼びます。
プライマリ・ロールにフェイルオーバーするスタンバイ・データベースがOracle RACデータベースの場合、ブローカは適用インスタンス以外のすべてのインスタンスを停止してから、フェイルオーバー操作を続行します。詳細は、5.4.3項を参照してください。
Oracle RACのフィジカル・スタンバイ・データベースへのフェイルオーバーを実行する場合、フェイルオーバーの実行時には、1つのインスタンスのみが実行中であることを許可されます。フェイルオーバーが完了すると、ブローカにより他のすべてのインスタンスが自動的に再起動されます。フェイルオーバーを実行したインスタンスは、再起動する必要がありません。単一インスタンスのフィジカル・スタンバイ・データベースに対するフェイルオーバーを実行する場合、インスタンスの再起動は必要ではありません。
ロジカル・スタンバイ・データベース(Oracle RACまたは単一インスタンス)に対するフェイルオーバーを実行する場合、インスタンスの再起動は必要ではありません。
Oracle RACのスナップショット・スタンバイ・データベースに対するフェイルオーバーを実行する場合は、フェイルオーバーを開始する前に、インスタンスのうち1つを残して他のすべてが停止します。フェイルオーバーが完了すると、最後のインスタンスが再起動され、オープンします。フェイルオーバーを実行したインスタンスがオープンすると、ブローカによって、他のすべてのインスタンスが再起動されます。単一インスタンスのスナップショット・スタンバイ・データベースに対するフェイルオーバーを実行する場合は、インスタンスを再起動した後でなければデータベースをオープンできません。
ブローカ構成が最大保護モードで動作している場合、手動フェイルオーバー操作を実行すると、保護モードが強制的に最大パフォーマンスに設定されます。REDO転送サービスの設定は影響を受けません。フェイルオーバー操作後に、構成に必要な保護モードをリストアする必要があります。
注意: ファスト・スタート・フェイルオーバーの場合は、ブローカにより、フェイルオーバー前の稼働時のレベルの保護モードが維持されます。 |
IMMEDIATE
オプションを指定してFAILOVER
コマンドを発行すると、受け取った未適用のREDOの適用は試行されません。このオプションを指定すると、スタンバイ・データベースでスタンバイREDOログ・ファイルが構成されている場合でも、アプリケーション・データが消失する可能性があります。また、構成内の他のスタンバイ・データベースは、再有効化されるまで機能しません。データベースの再有効化の詳細は、5.4.3項を参照してください。
手動フェイルオーバーを実行するか、ブローカをファスト・スタート・フェイルオーバーを実行するように設定できます。フェイルオーバーの条件が満たされた場合に、ブローカにより自動的にフェイルオーバーを起動させる方法については、ENABLE FAST_START FAILOVERコマンドを参照してください。
ファスト・スタート・フェイルオーバーが有効になっている場合は、完全手動フェイルオーバーを、ターゲットのスタンバイ・データベースに対してのみ、そのスタンバイ・データベースがプライマリ・データベースと同期化されているかラグ制限内である場合にのみ、およびオブザーバーが開始されている場合にのみ実行できます。ファスト・スタート・フェイルオーバーが有効になっている場合に、即時手動フェイルオーバーは実行できません。
障害が発生した元のプライマリ・データベース上で、フェイルオーバーの前に「データベースをフラッシュバック」が有効化されていた場合は、ブローカのREINSTATE
コマンド(REINSTATE DATABASEコマンドを参照)を使用して、そのプライマリ・データベースを回復できます。
フィジカル・スタンバイ・データベースに対してフェイルオーバーが実行された場合は、そのスタンバイ・データベースで「データベースをフラッシュバック」が有効化されていて、使用可能なフラッシュバック・ログ情報が不足なくある場合にのみ、そのフェイルオーバーにより無効化されたその他のフィジカル・スタンバイ・データベースも回復できます。手順については、5.4.3項「フェイルオーバーまたはスイッチオーバー後の無効化されたデータベースの再有効化」を参照してください。
再有効化後、元のプライマリ・データベースはスタンバイ・データベースとしてのみ構成に関係できます。
注意: フェイルオーバー前にまだアクティブなインスタンスが実行されている場合は、元のプライマリ・データベースを停止してください。 |
コマンドの例
例1
次の例では、スタンバイ・データベースDR_Sales
がプライマリ・ロールに推移するフェイルオーバーを実行しています。
DGMGRL> FAILOVER TO 'DR_Sales'; Performing failover NOW, please wait... Failover succeeded, new primary is "DR_Sales" DGMGRL> SHOW CONFIGURATION; Configuration Name: DRSolution Enabled: YES Protection Mode: MaxPerformance Databases: DR_Sales - Primary database North_Sales - Physical standby database (disabled) Fast-Start Failover: DISABLED Current status for "DRSolution": SUCCESS
Data Guardコマンドライン・インタフェースのオンライン・ヘルプを表示します。
書式
HELP [topic];
コマンド・パラメータ
ヘルプ情報を表示するトピック。トピックを指定しない場合、すべてのトピックおよび書式が表示されます。有効なトピックは、次のとおりです。
ADD
CONNECT
CONVERT
CREATE
DISABLE
EDIT
ENABLE
EXIT
FAILOVER
HELP
QUIT
REINSTATE
REM
REMOVE
SHOW
SHUTDOWN
START
STARTUP
STOP
SWITCHOVER
使用上の注意
このコマンドの実行には、データベース接続は不要です。
コマンドの例
例1
次の例では、EDIT
コマンドのヘルプを取得しています。
DGMGRL> HELP EDIT Edit a configuration, database or instance Syntax: EDIT CONFIGURATION SET PROTECTION MODE AS {MaxProtection|MaxAvailability|MaxPerformance}; EDIT CONFIGURATION SET PROPERTY <property name> = <value>; EDIT DATABASE <database name> SET PROPERTY <property name> = <value>; EDIT DATABASE <database name> RENAME TO <new database name>; EDIT DATABASE <database name> SET STATE = <state> [WITH APPLY INSTANCE = <instance name>]; EDIT INSTANCE <instance name> [ON DATABASE <database name>] SET AUTO PFILE [ = {<initialization file path>|OFF} ]; EDIT INSTANCE <instance name> [ON DATABASE <database name>] SET PROPERTY <property name> = <value>;
Data Guardコマンドライン・インタフェースを終了します。
書式
QUIT
コマンド・パラメータ
なし
使用上の注意
このコマンドの効果は、EXITコマンドと同じです。
このコマンドの実行には、データベース接続は不要です。ただし、接続されている場合は、このコマンドにより接続が解除されます。
コマンドの例
例1
次の例に、コマンドライン・インタフェースを終了する方法を示します。
DGMGRL> QUIT;
ブローカ構成内で、データベースを現在のプライマリ・データベースの新規スタンバイ・データベースとして回復します。
書式
REINSTATE DATABASE database-name;
コマンド・パラメータ
ブローカ構成内の回復するデータベースの名前
使用上の注意
5.5.8項で説明する回復の条件が満たされていない場合、回復処理は失敗し、対応するエラー・ステータスが表示され、指定されたデータベースは無効なままになります。
database-name
に、元のプライマリの名前が指定され、ファスト・スタート・フェイルオーバーが有効化されている場合、元のプライマリ・データベースは、新規プライマリ・データベースのスタンバイとして回復し、ファスト・スタート・フェイルオーバー環境は、新規スタンバイ・データベースの可用性を反映して更新されます。新規スタンバイ・データベースは、新規プライマリ・データベースに障害が発生した場合、新規プライマリ・データベースからREDOデータを受け取り、ファスト・スタート・フェイルオーバーのターゲットとなります。FastStartFailoverAutoReinstate
構成プロパティがFALSE
に設定されている場合を除き、オブザーバが実行中であれば自動的に回復が実行されます。
このコマンドでは、ファスト・スタート・フェイルオーバーが有効化されている必要はありません。このコマンドは、完全手動フェイルオーバーが実行された後、元のプライマリ・データベースを回復する場合に使用できます。フィジカル・スタンバイ・データベースへの完全なフェイルオーバーのために無効化されたフィジカル・スタンバイ・データベースを回復するために使用することもできます。
このコマンドは、ブローカ構成内で回復させるデータベース以外のデータベースに接続されている場合に発行します。
コマンドの例
例1
次の例に、DR_Sales
データベースを、ブローカ構成のスタンバイ・データベースとして回復させる方法を示します。
DGMGRL> REINSTATE DATABASE 'North_Sales'; Reinstating database "North_Sales", please wait... Operation requires shutdown of instance "sales1" on database "North_Sales" Shutting down instance "sales1"... ORA-01109: database not open Database dismounted. ORACLE instance shut down. Operation requires startup of instance "sales1" on database "North_Sales" Starting instance "sales1"... ORACLE instance started. Database mounted. Continuing to reinstate database "North_Sales" ... Reinstatement of database "North_Sales" succeeded
Data Guardブローカ構成ファイルから、すべてのデータベース・プロファイルを含む全ブローカ構成情報を削除し、ブローカ構成に関連付けられているすべてのデータベースのブローカ管理を終了します。
注意: REMOVE CONFIGURATION コマンドを使用すると、Data Guardブローカ構成ファイルからすべてのプロファイル情報が削除され、リカバリできません。 |
書式
REMOVE CONFIGURATION [ PRESERVE DESTINATIONS ];
コマンド・パラメータ
なし
使用上の注意
デフォルトでは、このコマンドを実行すると、プライマリ・データベースのLOG_ARCHIVE_DEST_
n
初期化パラメータと構成内の全データベースのLOG_ARCHIVE_CONFIG
初期化パラメータから、対応するブローカ設定が削除されます。これらの設定を保持するには、PRESERVE DESTINATIONS
オプションを使用します。
このコマンドでは、基礎となるData Guard構成の実際のプライマリまたはスタンバイ・データベース・インスタンス、データベース、データファイル、制御ファイル、初期化パラメータ・ファイル、サーバー・パラメータ・ファイルまたはログ・ファイルは削除されず、影響を受けません。
ファスト・スタート・フェイルオーバーが有効化されている場合は、その構成を削除できません。
コマンドの例
次の例では、REMOVE CONFIGURATIONコマンドの成功例と失敗例を示します。
例1 REMOVE CONFIGURATIONコマンドの成功例
次のコマンドは、構成ファイルから構成情報を削除する方法を示します。
DGMGRL> REMOVE CONFIGURATION; Removed configuration DGMGRL> SHOW CONFIGURATION; Error: ORA-16532: Data Guard broker configuration does not exist Configuration details cannot be determined by DGMGRL
例2 REMOVE CONFIGURATIONコマンドの失敗例
次のコマンドは、ファスト・スタート・フェイルオーバーが有効になっているために失敗しています。
DGMGRL> REMOVE CONFIGURATION; Error: ORA-16654: Fast-Start Failover was enabled Failed.
DGMGRL> SHOW CONFIGURATION; Configuration Name: DRSolution Enabled: YES Protection Mode: MaxAvailability Databases: DR_Sales - Primary database North_Sales - Physical standby database - Fast-Start Failover target Fast-Start Failover: ENABLED Current status for "DRSolution": SUCCESS
指定したスタンバイ・データベースのプロファイルをブローカ構成から削除し、スタンバイ・データベースのブローカ管理を終了します。
注意: REMOVE DATABASE コマンドを使用すると、ブローカ構成ファイルからデータベースのプロファイル情報が削除され、リカバリできません。 |
書式
REMOVE DATABASE database-name [ PRESERVE DESTINATIONS ];
コマンド・パラメータ
ブローカ構成からプロファイルを削除するスタンバイ・データベースの名前。
使用上の注意
ブローカ構成に含まれるプライマリ・データベースの名前を指定すると、エラーが戻されます。
デフォルトでは、このコマンドを実行すると、プライマリ・データベースのLOG_ARCHIVE_DEST_
n
初期化パラメータと構成内の全データベースのLOG_ARCHIVE_CONFIG
初期化パラメータから、対応するブローカ設定が削除されます。これらの設定を保持するには、PRESERVE DESTINATIONS
オプションを使用します。
このコマンドは、ファスト・スタート・フェイルオーバーが有効になっている場合は実行できません。また、database-nameには、ターゲットのスタンバイ・データベースの名前を指定します。
コマンドの例
例1
次の例に、Data Guard Broker構成からデータベースを削除する方法を示します。
DGMGRL> SHOW CONFIGURATION; Configuration Name: DRSolution Enabled: YES Protection Mode: MaxPerformance Databases: North_Sales - Primary database DR_Sales - Physical standby database Fast-Start Failover: DISABLED Current status for "DRSolution": SUCCESS DGMGRL> REMOVE DATABASE 'DR_Sales'; Removed database "DR_Sales" from the configuration DGMGRL> SHOW CONFIGURATION; Configuration Name: DRSolution Enabled: YES Protection Mode: MaxPerformance Databases: North_Sales - Primary database Fast-Start Failover: DISABLED Current status for "DRSolution": SUCCESS
ブローカ構成の既存のデータベース・プロファイルからインスタンスを削除します。
書式
REMOVE INSTANCE instance-name
[ON DATABASE database-name];
コマンド・パラメータ
ブローカ構成から削除するインスタンスの名前(SID)。
instance-name
が関連付けられているデータベースの名前。
使用上の注意
Oracle RACデータベースの場合は、ブローカにより自動的に、対応するデータベース・プロファイルに起動済インスタンスが追加されます。ただし、データベース・プロファイルからはインスタンスを自動的に削除できません。REMOVE INSTANCE
コマンドを使用すると、存在しなくなったインスタンスをデータベース・プロファイルから手動で削除できます。
instance-name
には、構成全体で一意の名前を指定できます。instance-name
が一意ではない場合、database-name
およびinstance-name
の両方を指定してインスタンスを完全に識別する必要があります。
ブローカ構成内で現在アクティブなインスタンスの場合は、このコマンドが拒否されます。
現在そのインスタンスのみがデータベース・プロファイルに関連付けられている場合、このコマンドは拒否されます。
コマンドの例
例1
次の例に、データベースのインスタンスを削除する方法を示します。
DGMGRL> REMOVE INSTANCE 'dr_sales3' ON DATABASE 'DR_Sales'; Removed instance "dr_sales3" from the database "DR_Sales"
ブローカ構成のサマリーおよびステータスを表示します。サマリーには、ブローカ構成に含まれるすべてのデータベースと、ファスト・スタート・フェイルオーバーのステータスなど、ブローカ構成自体に関するその他の情報が表示されます。
書式
SHOW CONFIGURATION [VERBOSE | property-name];
コマンド・パラメータ
サマリー情報を表示するプロパティの名前。
プロパティの詳細は、第9章「データベース・プロパティ」を参照してください。
使用上の注意
ファスト・スタート・フェイルオーバーに関連するプロパティを表示するには、SHOW CONFIGURATION VERBOSE
コマンド(またはSHOW FAST_START FAILOVER
コマンドを使用します。
VERBOSE
またはproperty-name
のどちらかをオプションで指定できますが、両方指定することはできません。
コマンドの例
例1 DRSolution構成のサマリーの表示
次の例では、ファスト・スタート・フェイルオーバーが無効化されているDRSolution
構成のサマリーを表示しています。
DGMGRL> SHOW CONFIGURATION; Configuration Name: DRSolution Enabled: YES Protection Mode: MaxPerformance Databases: North_Sales - Primary database DR_Sales - Physical standby database Fast-Start Failover: DISABLED Current status for "DRSolution": SUCCESS
例2 ファスト・スタート・フェイルオーバー構成の準備状況レディネスの検証
次の例では、ファスト・スタート・フェイルオーバーが有効化された構成の準備状況を検証しています。
DGMGRL> SHOW CONFIGURATION VERBOSE; Configuration Name: DRSolution Enabled: YES Protection Mode: MaxAvailability Databases: North_Sales - Primary database DR_Sales - Physical standby database - Fast-Start Failover target Fast-Start Failover: ENABLED Threshold: 30 seconds Target: DR_SALES Observer: (none) Lag Limit: 30 seconds (not in use) Shutdown Primary: TRUE Auto-reinstate: TRUE Current status for "DRSolution": SUCCESS
指定したデータベースとそのインスタンスに関する情報またはプロパティ値を表示します。
書式
SHOW DATABASE database-name [VERBOSE | property-name];
コマンド・パラメータ
情報を表示するデータベースの名前。
値を表示するプロパティの名前。
使用上の注意
SHOW DATABASE
コマンドを使用すると、データベースの簡潔なサマリーが表示されます。SHOW DATABASE VERBOSE
コマンドを使用すると、簡潔なサマリーに加えてデータベースのプロパティが表示されます。データベースのステータスは、どちらのコマンドでも表示されます。
SHOW DATABASE VERBOSE
コマンドを使用すると、データベース固有のプロパティとインスタンス固有のプロパティが表示されます。非RACデータベースの場合、インスタンス固有のプロパティの値は、データベースの唯一のインスタンスの値です。Oracle RACデータベースの場合、プロパティ名は表示されますが、インスタンス固有のプロパティの値は表示されません。これらのプロパティについてインスタンス固有の値を表示するには、SHOW INSTANCE
コマンドを使用します。
SHOW DATABASE VERBOSE
コマンドで表示されるプロパティは、データベース・ロールと構成の内容によって異なります。
プライマリ・データベースの場合は、構成に少なくとも1つのフィジカルまたはスナップショット・スタンバイ・データベースが含まれている場合にのみ、フィジカルまたはスナップショット・スタンバイ・データベース固有のプロパティが表示されます。ロジカル・スタンバイ・データベース固有のプロパティは、構成に少なくとも1つロジカル・スタンバイ・データベースが含まれている場合にのみ表示されます。
フィジカルおよびスナップショット・スタンバイ・データベースの場合、ロジカル・スタンバイ・データベース固有のプロパティは表示されません。
ロジカル・スタンバイ・データベースの場合、フィジカルおよびスナップショット・スタンバイ・データベース固有のプロパティは表示されません。
Oracle RACデータベースのインスタンス固有のプロパティを表示するためにSHOW DATABASE
property-name
コマンドを使用すると、このコマンドは拒否されます。
コマンドの例
例1
データベース情報を簡略形式で表示します。
DGMGRL> SHOW DATABASE 'DR_Sales'; Database Name: DR_Sales Role: PHYSICAL STANDBY Enabled: YES Intended State: APPLY-ON Instance(s): dr_sales1 Current status for "DR_Sales": SUCCESS
例2
データベース情報を拡張形式で表示します。
DGMGRL> SHOW DATABASE VERBOSE 'DR_Sales'; Database Name: DR_Sales Role: PHYSICAL STANDBY Enabled: NO Intended State: APPLY-ON Instance(s): dr_sales1 Properties: DGConnectIdentifier = 'DR_Sales.foo.com' ObserverConnectIdentifier = '' LogXptMode = 'ASYNC' DelayMins = '0' Binding = 'OPTIONAL' MaxFailure = '0' MaxConnections = '1' ReopenSecs = '300' NetTimeout = '30' RedoCompression = 'DISABLE' LogShipping = 'ON' PreferredApplyInstance = '' ApplyInstanceTimeout = '0' ApplyParallel = 'AUTO' StandbyFileManagement = 'AUTO' ArchiveLagTarget = '0' LogArchiveMaxProcesses = '5' LogArchiveMinSucceedDest = '1' DbFileNameConvert = 'dbs/t, dbs/bt' LogFileNameConvert = 'dbs/t, dbs/bt' FastStartFailoverTarget = '' StatusReport = '(monitor)' InconsistentProperties = '(monitor)' InconsistentLogXptProps = '(monitor)' SendQEntries = '(monitor)' LogXptStatus = '(monitor)' RecvQEntries = '(monitor)' HostName = 'dr_sales.foo.com' SidName = 'dr_sales1' StandbyArchiveLocation = '/archfs/arch' AlternateLocation = '' LogArchiveTrace = '8191' LogArchiveFormat = 'db2r_%d_%t_%s_%r.arc' LatestLog = '(monitor)' TopWaitEvents = '(monitor)' Current status for "DR_Sales": SUCCESS
すべてのファスト・スタート・フェイルオーバー関連情報を表示します。
書式
SHOW FAST_START FAILOVER;
COMMAND PARAMETERS
なし
使用上の注意
SHOW FAST_START FAILOVER
コマンドは、ファスト・スタート・フェイルオーバー構成のサマリーを表示します。
コマンドの例
DGMGRL> SHOW FAST_START FAILOVER; Fast-Start Failover: DISABLED Threshold: 30 seconds Target: (none) Observer: (none) Lag Limit: 30 seconds Shutdown Primary: TRUE Auto-reinstate: TRUE Configurable Failover Conditions Health Conditions: Corrupted Controlfile YES Corrupted Dictionary YES Inaccessible Logfile NO Stuck Archiver NO Datafile Offline YES Oracle Error Conditions: ORA-27102: out of memory
書式
SHOW INSTANCE instance-name [VERBOSE | property-name]
[ON DATABASE database-name];
コマンド・パラメータ
情報を表示するインスタンスの名前。
値を表示するプロパティの名前。
情報を表示するインスタンスに関連付けられているデータベースの名前。
使用上の注意
SHOW INSTANCE
コマンドを使用すると、インスタンスの簡潔なサマリーが表示されます。SHOW INSTANCE VERBOSE
コマンドを使用すると、簡潔なサマリーに加えてインスタンスのプロパティが表示されます。インスタンスのステータスは、どちらのコマンドでも表示されます。
SHOW INSTANCE VERBOSE
コマンドでは、インスタンス固有のプロパティのみが表示されます。
SHOW INSTANCE VERBOSE
コマンドで表示されるプロパティは、データベース・ロールと構成の内容によって異なります。
プライマリ・データベースのインスタンスの場合は、構成に少なくとも1つのフィジカルまたはスナップショット・スタンバイ・データベースが含まれている場合にのみ、フィジカルまたはスナップショット・スタンバイ・インスタンス固有のプロパティが表示されます。ロジカル・スタンバイ・インスタンス固有のプロパティは、構成に少なくとも1つロジカル・スタンバイ・データベースが含まれている場合にのみ表示されます。
フィジカルまたはスナップショット・スタンバイ・データベースのインスタンスの場合、ロジカル・スタンバイ・インスタンス固有のプロパティは表示されません。
ロジカル・スタンバイ・データベースのインスタンスの場合、フィジカルおよびスナップショット・スタンバイ・インスタンス固有のプロパティは表示されません。
instance-name
には、構成全体で一意の名前を指定できます。instance-name
が一意ではない場合、database-name
およびinstance-name
の両方を指定してインスタンスを完全に識別する必要があります。
コマンドの例
例1
次の例では、データベースの特定のインスタンスに関する情報を表示します。
DGMGRL> SHOW INSTANCE sales1; Instance 'sales1' of database 'North_Sales' Host Name: north.foo.com Current status for "sales1": SUCCESS
例2
インスタンス情報を拡張形式で表示します。
DGMGRL> SHOW INSTANCE VERBOSE sales1; Instance 'sales1' of database 'North_Sales' Host Name: north.foo.com PFILE: Properties: HostName = 'north.foo.com' SidName = 'sales1' StandbyArchiveLocation = '/archfs/arch' AlternateLocation = '' LogArchiveTrace = '255' LogArchiveFormat = 'r_%d_%t_%s_%r.arc' LsbyMaxSga = '0' LsbyMaxServers = '0' LatestLog = '(monitor)' TopWaitEvents = '(monitor)' Current status for "sales1": SUCCESS
現在実行中のOracleインスタンスをシャットダウンします。
書式
SHUTDOWN [ ABORT | IMMEDIATE | NORMAL ];
コマンド・パラメータ
なし
使用上の注意
引数を指定せずにSHUTDOWN
コマンドを使用すると、SHUTDOWN NORMAL
コマンドを使用した場合と同じ結果になります。
SHUTDOWN
コマンドのオプションを次に示します。
ABORT
コールの完了やデータベースからのユーザーの切断を待たずに、データベースを可能なかぎり高速でシャットダウンします。コミットされていないトランザクションはロールバックされません。処理中のクライアントのSQL文は終了します。データベースに接続されているユーザー全員が暗黙的に切断され、次回のデータベース起動時にはインスタンスのリカバリが必要になります。バックグラウンド・プロセスが異常終了した場合は、このオプションを使用する必要があります。
注意: ファスト・スタート・フェイルオーバーが有効化され、オブザーバが実行されている場合に、プライマリ・データベースにABORT オプションを使用すると、ファスト・スタート・フェイルオーバーが実行される場合があります。意図しないファスト・スタート・フェイルオーバーの実行を防ぐには、IMMEDIATE またはNORMAL オプションを使用します。 |
IMMEDIATE
現在のコールが完了したり、ユーザーがデータベースから切断するまで待機しません。それ以降の接続は禁止されます。データベースはクローズされ、ディスマウントされます。インスタンスはシャットダウンされ、次回のデータベース起動時にインスタンスのリカバリは不要です。
NORMAL
これはデフォルトのオプションです。プロセスは、ユーザーがデータベースから切断するまで待機します。それ以降の接続は禁止されます。データベースはクローズされ、ディスマウントされます。インスタンスはシャットダウンされ、次回のデータベース起動時にインスタンスのリカバリは不要です。
コマンドの例
例1
次のコマンドにより、プライマリ・データベースをNORMALモードでシャットダウンします。
DGMGRL > SHUTDOWN; Database closed. Database dismounted. Oracle instance shut down.
ファスト・スタート・フェイルオーバーを開始します。
書式
START OBSERVER [ FILE=observer_configuration_filename ];
コマンド・パラメータ
オブザーバ・コンピュータ上で明示的なディレクトリ・パスおよびファイル名を指定します。
使用上の注意
ファスト・スタート・フェイルオーバーを有効化する予定のブローカ構成を監視するには、Oracle Client Administratorキット、Oracle Database Enterprise EditionまたはOracle Database Personal Editionのフルキットを、オブザーバ・コンピュータ上にインストールする必要があります。詳細は、5.5.1項を参照してください。
START OBSERVER
コマンドは、オブザーバ・コンピュータ上で発行する必要があります。オブザーバが正常に開始されると、制御は、(別のクライアント接続からのSTOP OBSERVERのコマンドの発行などにより)オブザーバが停止されるまでユーザーには戻されません。そのブローカ構成とさらに交信する場合は、他のクライアントを介して接続する必要があります。
オブザーバは、正常に起動すると自動的に動作します。このため、START OBSERVER
コマンドを発行する目的でDGMGRLを起動する場合、オブザーバとして機能する間に生成された出力が失われないように、コマンドラインでオプション・パラメータ-logfile
を指定することをお薦めします。このパラメータの詳細は8.1.1項を参照し、-logfile
オプションの使用例は10.5.3項を参照してください。
ディレクトリ・パスがFILE
パラメータを使用して指定されていない場合、オブザーバは、現在の作業ディレクトリでfsfo.dat
ファイルを検索します。fsfo.dat
ファイルが検出されない場合で、START OBSERVER
コマンドを初めて発行する場合には、オブザーバにより、fsfo.dat
ファイルが作成されます。
プライマリ・データベースおよびターゲット・スタンバイ・データベースのDB_UNIQUE_NAME
初期化パラメータおよび接続識別子は、fsfo.dat
構成ファイルに格納されています。このファイルの不正アクセスを確実に防止することをお薦めします。
このコマンドを発行する前に、ファスト・スタート・フェイルオーバーを有効化しておく必要はありません。
ファスト・スタート・フェイルオーバーが有効化されている場合、オブザーバは、プライマリおよびターゲット・スタンバイの接続識別子をブローカ構成から取得し、構成の監視を開始します。
ファスト・スタート・フェイルオーバーが有効化されていない場合、オブザーバは、継続的にファスト・スタート・フェイルオーバーの有効化の時期を監視します。
このコマンドの発行時、実行されている必要があるのはプライマリ・データベースのみです。ファスト・スタート・フェイルオーバーのターゲットとなるスタンバイ・データベースは、実行されている必要がありません。
オブザーバが停止した場合
STOP OBSERVER
コマンドの発行による停止の場合、任意のコンピュータ上でSTART OBSERVERコマンドを発行して、オブザーバを開始できます。
STOP OBSERVER
コマンドの発行によるものではない場合、オブザーバを最初に起動したときに使用したオブザーバ構成ファイルを指定して、START OBSERVER
コマンドを、最初にそのコマンドを開始したオブザーバ・コンピュータ上で発行する必要があります。
オブザーバがすでに実行中の場合、START OBSERVER
コマンドは実行されず、次のエラーのいずれかが戻されます。
ORA-16647: could not start more than one observerDGM-16954: unable to open and lock the Observer configuration file
プライマリ・データベースとターゲットのスタンバイ・データベースの間の接続が維持されている状態でオブザーバとの接続が失われた場合、プライマリ・データベースは監視されない状態になります。この状態は、ブローカの健全性チェック機能により報告されます。
オブザーバおよびそのホスト・コンピュータのステータスを表示するには、SHOW FAST_START FAILOVER
コマンドまたはSHOW CONFIGURATION VERBOSE
コマンドを使用するか、プライマリ・データベースのV$DATABASE
ビューでFS_FAILOVER_*
列を問い合せます。
コマンドの例
例1
次の例では、オブザーバの起動方法を示しています。
DGMGRL> CONNECT sys@North_Sales.foo.com;
Password: password
Connected.
DGMGRL> START OBSERVER;
Observer started
例2
次の例は、コマンドラインで接続情報を表示できないように、CONNECT '/'
を使用してオブザーバを起動する方法を示しています。
DGMGRL> CONNECT /@North_Sales.foo.com; DGMGRL> START OBSERVER; Observer started.
CONNECT '/'
を使用するには、Oracleウォレットを設定する必要があります。Oracleウォレットを設定することで、スクリプトでデータベース接続情報を指定せずに、オブザーバをバックグラウンド・ジョブとして安全に起動および実行するためのスクリプトを記述できます。Oracleウォレットをセキュアな外部パスワード・ストアとして使用する場合は、プライマリ・データベースおよびファスト・スタート・フェイルオーバーのターゲット・スタンバイ・データベースの接続情報を追加する必要があります。各データベースの接続情報を追加するとき、指定するデータベース接続文字列は、構成可能なデータベース・プロパティObserverConnectIdentifer
またはDGConnectIdentifier
と一致している必要があります。
関連項目: Oracleウォレットの詳細は、『Oracle Database Advanced Security管理者ガイド』を参照してください。 |
次のいずれかのオプションを指定してOracleデータベース・インスタンスを起動します。
FORCE
: 現行のOracleインスタンスをSHUTDOWN
ABORT
モードでシャットダウンしてから、再起動します。
RESTRICT
: RESTRICTED SESSION
システム権限を持つOracleユーザーにのみインスタンスへの接続を許可します。
PFILE
: データベース・インスタンスの起動時に使用するPFILE
初期化パラメータ・ファイルを指定します。
MOUNT
: 指定したデータベースをオープンせずにマウントします。
OPEN
: 指定したデータベースをマウントしてオープンします。
NOMOUNT
: 指定したデータベース・インスタンスを、データベースをマウントせずに起動します。
書式
STARTUP
[FORCE]
[RESTRICT]
[PFILE=filename]
[MOUNT | OPEN [open-options] | NOMOUNT];
コマンド・パラメータ
データベース・インスタンスの起動時に使用する初期化パラメータ・ファイルの名前。PFILE
パラメータ・オプションを指定しない場合は、(オペレーティング・システム固有の)デフォルトのサーバー・パラメータ・ファイルが使用されます。
指定したデータベースを起動するためのアクセス・モード。可能なモードは次のとおりです。
READ ONLY
READ WRITE
使用上の注意
引数を指定せずにSTARTUP
コマンドを使用すると、STARTUP OPEN
コマンドを使用した場合と同じ結果になります。
STARTUP
コマンドの使用時にFORCE
句を指定せず、現行のデータベース・インスタンスが実行中の場合は、エラーになります。FORCE
句は、デバッグ時やエラー条件の発生時に役立ちます。それ以外の場合は、使用しないでください。
RESTRICT
句を使用すると、RESTRICTED SESSION
システム権限を持つOracleユーザーにのみインスタンスへの接続が許可されます。後でSQL*Plusを介しALTER SYSTEM
コマンドを使用して、制限付きセッション機能を無効化できます。
初期化パラメータ・ファイルの指定にPFILE
句を使用しない場合、STARTUP
コマンドではデフォルトのサーバー・パラメータ・ファイル(存在する場合)が使用されます。それ以外の場合、STARTUP
コマンドではデフォルトの初期化パラメータ・ファイルが使用されます。デフォルトのファイルはプラットフォーム固有です。
デフォルトのパラメータ・ファイルの詳細は、オペレーティング・システム固有のマニュアルを参照してください。
指定したデータベースをマウントしてオープンするには、OPEN
句を使用します。
NOMOUNT
句を指定すると、データベースをマウントせずにデータベース・インスタンスを起動できます。NOMOUNT
句は、MOUNT
またはOPEN
オプションと併用できません。
コマンドの例
例1
次の例では、データベース・インスタンスの2つの起動方法を示します。各コマンドでは、標準パラメータ・ファイルを使用してデータベース・インスタンスを起動し、デフォルト・データベースを排他モードでマウントしてオープンしています。
DGMGRL> STARTUP; DGMGRL> STARTUP OPEN;
例2
次のコマンドでは、現行のインスタンスをシャットダウンし、その直後にマウントもオープンもせずにデータベースを再起動し、制限付きセッション権限のあるユーザーにのみ接続を許可しています。
DGMGRL > STARTUP FORCE RESTRICT NOMOUNT;
例3
次のコマンドでは、パラメータ・ファイルtestparm
を使用して、データベースをマウントせずにインスタンスを起動しています。
DGMGRL > STARTUP PFILE=testparm NOMOUNT;
例4
次の例では、データベース・インスタンスを起動してマウントしていますが、オープンはしていません。
DGMGRL> STARTUP MOUNT;
ファスト・スタート・フェイルオーバーを停止します。
書式
STOP OBSERVER
コマンド・パラメータ
なし
使用上の注意
このコマンドは、ブローカ構成内のいずれかのデータベースと接続されている場合に発行できます。
このコマンドでは、ファスト・スタート・フェイルオーバーを無効化できません。
このコマンドの発行時に、ファスト・スタート・フェイルオーバーが有効化されている必要はありません。
STOP OBSERVER
コマンドの発行時にファスト・スタート・フェイルオーバーが有効化されている場合は、プライマリ・データベースおよびスタンバイ・データベースが接続され、相互に交信している必要があります。そうでない場合は、次のエラーが戻されます。
ORA-16636 fast-start failover target standby in error state, cannot stop observer
STOP OBSERVER
コマンドの発行時にファスト・スタート・フェイルオーバーが有効化されていない場合は、オブザーバの停止時にプライマリ・データベースのみが実行されている必要があります。
オブザーバは、STOP OBSERVER
コマンドの発行後すぐには停止されません。オブザーバは、次回オブザーバーがブローカと接続されるまで停止されたことを検出しません。
STOP OBSERVER
コマンドの発行後ただちに、任意のコンピュータでSTART OBSERVER
コマンドを再度入力できます。旧オブザーバがまだ自身の停止を検出していない場合でも、新規オブザーバを即座に開始できます。ブローカ構成では新しいオブザーバがすでに開始されているため、元のオブザーバの開始を試行すると失敗します。
コマンドの例
例1
次の例ではオブザーバを停止しています。
DGMGRL> STOP OBSERVER;
スイッチオーバー操作は、プライマリ・データベースがスタンバイ・データベースの1つとロールを交換する計画的な推移です。SWITCHOVER
コマンドを発行すると、現行のプライマリ・データベースがスタンバイ・データベースになり、指定したスタンバイ・データベースがプライマリ・データベースになります。
書式
SWITCHOVER TO database-name;
コマンド・パラメータ
プライマリ・データベースのロールに変更するスタンバイ・データベースの名前。
使用上の注意
ファスト・スタート・フェイルオーバーが有効な場合は、ターゲット・スタンバイ・データベースへのスイッチオーバーのみ実行できます。
スイッチオーバーの起動前に、ブローカによって、プライマリ・データベースおよびスタンバイ・データベースが次の状態であることが検証されます。
REDO転送サービスが起動するように、プライマリ・データベースが有効化され、TRANSPORT-ON
状態になっている必要があります。
スタンバイ・データベースが有効化され、TRANSPORT-ON
状態になっており、ログ適用サービスが起動している必要があります。
ブローカは、スイッチオーバーに関係するように選択したスタンバイ・データベースにREDO転送サービスのエラーがないかぎり、スイッチオーバーを続行します。ただし、スイッチオーバーに関係しない他のスタンバイ・データベースにエラーが発生しても、スイッチオーバーは影響を受けません。
ロジカル・スタンバイ・データベースへのスイッチオーバーは、構成が最大保護モードで動作している場合には許可されません。
ブローカ構成が最大保護モードまたは最大可用性モードで動作している場合、スイッチオーバーの操作後も同じ保護モードが維持されます(5.3.1項を参照)。スイッチオーバーのターゲットとなるスタンバイ・データベースが保護モード要件を満たす唯一のスタンバイであったためにモードを維持できない場合、スイッチオーバーは許可されません。
プライマリ・ロールを引き継ぐスタンバイ・データベースがフィジカル・スタンバイ・データベースの場合は、スイッチオーバーの完了後に、元のプライマリ・データベースが再起動されます。スタンバイ・データベースがロジカル・スタンバイ・データベースの場合は、プライマリ・データベースもロジカル・スタンバイ・データベースも再起動されません。
プライマリ・ロールを引き継ぐスタンバイ・データベースがフィジカル・スタンバイ・データベースの場合、元のプライマリ・データベースはフィジカル・スタンバイ・データベースとなります。
プライマリ・ロールを引き継ぐスタンバイ・データベースがロジカル・スタンバイ・データベースの場合、元のプライマリ・データベースはロジカル・スタンバイ・データベースとなります。
プライマリ・ロールにスイッチオーバーするスタンバイ・データベースがOracle RACのフィジカル・スタンバイ・データベースの場合は、スイッチオーバーを続行する前に、フィジカル・スタンバイ・データベース上の適用インスタンス以外のすべてのインスタンス、およびOracle RACのプライマリ・データベース上のインスタンスのうち1つを残して他のすべてのインスタンスがブローカにより停止されます。詳細は、5.3項を参照してください。
スナップショット・スタンバイ・データベースにスイッチオーバーすることはできません。
プライマリ・ロールを引き継ぐスタンバイ・データベースがロジカル・スタンバイ・データベースで、構成にフィジカル・スタンバイ・データベースが含まれている場合、スイッチオーバー後、フィジカル・スタンバイ・データベースは無効化されます。
注意: このため、通常、スイッチオーバーには、ロジカル・スタンバイ・データベースのかわりにフィジカル・スタンバイ・データベースを指定することをお薦めします。ロジカル・スタンバイ・データベースへのスイッチオーバーが必要な場合、フィジカル・スタンバイ・データベースを再有効化する方法については、5.4.3項を参照してください。 |
コマンドの例
例1
次の例では、フィジカル・スタンバイ・データベースDR_Sales
がプライマリ・ロールに推移する正常なスイッチオーバーを示しています。
DGMGRL> switchover to 'DR_Sales'; Performing switchover NOW, please wait... New primary database "DR_Sales" is opening... Operation requires shutdown of instance "sales1" on database "North_Sales" Shutting down instance "sales1"... ORA-01109: database not open Database dismounted. ORACLE instance shut down. Operation requires startup of instance "sales1" on database "North_Sales" Starting instance "sales1"... ORACLE instance started. Database mounted. Switchover succeeded, new primary is "DR_Sales"
例2
オペレーティング・システム認証を使用してデータベースに接続する場合は、任意のユーザー名およびパスワードを使用して接続できます。ただし、DGMGRLはリモートでは自己認証できないため、プライマリ・データベースとスタンバイ・データベースを自動的にシャットダウンして起動することができません。
次に、スイッチオーバーには成功したが、DGMGRLでプライマリ・データベースとスタンバイ・データベースのシャットダウンおよび起動ができなかったためにエラーが戻された例を示します。
DGMGRL> connect / Connected. DGMGRL> SWITCHOVER TO 'DR_Sales'; Performing switchover NOW, please wait... New primary database "DR_Sales" is opening... Operation requires shutdown of instance "sales1" on database "North_Sales" Shutting down instance "sales1"... ORA-01031: insufficient privileges You are no longer connected to ORACLE Please connect again. Unable to shut down instance "sales1" You must shut down instance "sales1" manually Operation requires startup of instance "sales1" on database "North_Sales" You must start instance "sales1" manually Switchover succeeded, new primary is "DR_Sales"
注意: DGMGRLでインスタンスを自動的に再起動するには、最後のCONNECT コマンドが別のデータベースへの接続に使用された場合でも、最後のCONNECT コマンドに指定された接続情報を使用してデータベースに接続する必要があります。 |
SHUTDOWNおよびSTARTUPコマンドを手動で発行して、新しいプライマリおよび停止されたスタンバイ・インスタンスを再起動する必要があります。