Data Guardコマンドライン・インタフェース(DGMGRL)を使用すると、Data Guard Broker構成とそのデータベースを、コマンドラインから直接、あるいはバッチ・プログラムやスクリプトから管理できます。Data Guardコマンドライン・インタフェースは、Data Guard構成を管理するためのOracle Enterprise Managerの代替手段として使用できます。
この章では、Data Guardのコマンドライン・インタフェースの参照情報を示します。この章の内容は、次のとおりです。
DGMGRLを実行するには、SYSDBA
権限が必要です。
コマンドライン・インタフェースを起動するには、Oracleがインストールされているシステム上で、コマンドライン・プロンプトからdgmgrlと入力します。
% dgmgrl
DGMGRLコマンド・プロンプトが表示されます。
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の起動時はパスワードを省略し、後で求められたときに入力するか、外部の認証方式を使用することで回避できます。 |
オペレーティング・システム認証(リモート・データベースの再起動を除く)、Secure Sockets Layer(SSL)プロトコルまたはウォレットに格納されたデータベース資格証明を使用する場合は、'/'として接続できます。
<command>
は1つのコマンドです。
次に例を示します。
% dgmgrl sys/ "show database 'North_Sales'"
Password
: パスワード
次の各項で、DGMGRL>
コマンド・プロンプトから入力するコマンドの書式について説明します。
DGMGRLコマンドを使用すると、一度に1つのブローカ構成を作成およびメンテナンスできます。ブローカ構成は、1つのプライマリ・データベースと最大30個のスタンバイ・データベースで構成できます。
コマンドライン・インタフェースの起動後は、表7-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の準備および起動の詳細は、第6章を参照してください。スタンバイ・データベースでのネットワーク・ファイルとリスナーの設定の詳細は、『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
コマンドに指定された資格証明を使用してデータベースに接続できる必要があります。
コマンドの例
この例は、ローカル・システム上でDGMGRLコマンドライン・インタフェースに接続する方法を示しています。
% dgmgrl
.
.
.
Welcome to DGMGRL, type "help" for information.
DGMGRL> CONNECT sys;
Password: password
Connected.
この例は、リモート・システム上で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
句を使用して、スタンバイ・データベースのタイプを指定できます。この句を指定しなければ、スタンバイ・データベースのタイプがフィジカル、ロジカルまたはスナップショットであるかをブローカが自動的に判別します。
コマンド・パラメータ
ブローカでこのスタンバイ・データベースを参照するために使用される名前。この名前は、対応するデータベースのDB_UNIQUE_NAME
初期化パラメータの値と一致する(大/小文字は区別されません)必要があります。
完全指定の接続記述子またはOracle Net Servicesのネーミング・メソッド(TNSなど)により解決される名前です。指定した値は、データベース・プロパティDGConnectIdentifier
の初期値としても使用されます。このオプションを指定しない場合、ブローカがプライマリ・データベースのLOG_ARCHIVE_DEST_
n
パラメータを検索して、対応するスタンバイ・データベースのエントリを探し、そのSERVICE
値を接続識別子として使用します。
使用上の注意
このコマンドを発行するには、プライマリ・データベースまたは構成内にすでに存在する有効化されたスタンバイ・データベースに接続する必要があります。
ブローカでは、指定したconnect-identifier
が、他のデータベースから指定したデータベースへの通信に使用されます。したがって、構成内のすべてのデータベースから指定のデータベースへのアドレス指定に、connect-identifier
を使用できることを確認する必要があります。たとえば、TNSをネーミング・メソッドとして使用する場合、構成内のすべてのデータベースとインスタンスのtnsnames.oraファイルにconnect-identifier
のエントリが含まれることを確認する必要があります。接続識別子は同じ接続記述子に解決される必要があります。追加するデータベースがOracle RACデータベースである場合、Oracle RACのすべてのインスタンスにアクセスできる接続識別子
を指定する必要があります。FAILOVER
属性を設定することをお薦めします。
参照: 『Oracle Database Net Services管理者ガイド』 |
接続できない場合、ブローカでは新しいデータベースが構成に追加されません。
MAINTAINED AS
句は、このリリースで非推奨になりました。スタンバイ・データベースのタイプは、ブローカによって自動的に判別されます。
コマンド・パラメータ
データベースへの接続に使用するユーザー名。ユーザー名と、オプションでconnect-identifierを入力すると、パスワードの入力を求められます。
このパラメータはオプションです。このパラメータは、接続先データベースのOracle Net Services接続識別子です。正確な構文は、Oracleのインストールで使用されるOracle Net Services通信プロトコルによって異なります。
使用上の注意
接続先データベースに有効なユーザー名とパスワードを指定する必要があります。指定するユーザー名には、SYSDBA権限が必要です。SYSDBAはCONNECT
コマンドのデフォルト設定であるため、このコマンドでAS SYSDBA
を指定する必要はありません。
CONNECT
コマンドでエラーが戻される場合は、有効なconnect-identifier
を指定したことを確認してください。
コマンドの例
この例では、ローカル・システム上のデフォルト・データベースに接続しています。
DGMGRL> CONNECT sys;
Password: password
Connected.
この例では、connect-identifier
がNorth_Sales.example.com
のリモート・データベースに接続します。
DGMGRL> CONNECT sys@North_Sales.example.com;
Password: password
Connected.
この例では、コマンドラインで接続資格証明を表示できないように、CONNECT '/'
を使用してデータベースに接続しています。
DGMGRL> CONNECT /@North_Sales.example.com;
CONNECT '/'を使用するには、OracleウォレットまたはSSLを設定する必要があります。OracleウォレットまたはSSLを設定することで、スクリプトでデータベース資格証明を指定せずに、オブザーバをバックグラウンド・ジョブとして安全に起動および実行するためのスクリプトを記述できます。
参照: OracleウォレットおよびSSLの詳細は、『Oracle Database Advanced Security管理者ガイド』を参照してください。 |
フィジカル・スタンバイ・データベースをスナップショット・スタンバイ・データベースに変換するか、スナップショット・スタンバイ・データベースをフィジカル・スタンバイ・データベースに戻します。
スナップショット・スタンバイ・データベースは完全に更新可能なスタンバイ・データベースです。フィジカルまたはロジカル・スタンバイ・データベースと同様に、スナップショット・スタンバイ・データベースは、プライマリ・データベースからREDOデータを受信し、アーカイブします。フィジカルまたはロジカル・スタンバイ・データベースとは異なり、スナップショット・スタンバイ・データベースは、受信したREDOデータを適用しません。スナップショット・スタンバイ・データベースが受信したREDOデータは、スナップショット・スタンバイが元のフィジカル・スタンバイ・データベースに変換され、スナップショット・スタンバイ・データベースに対するすべてのローカルな更新が破棄された後に適用されます。
スナップショット・スタンバイ・データベースの最適な使用例は、更新可能なフィジカル・スタンバイ・データベースのスナップショットが一時的に必要な場合です。スナップショット・スタンバイ・データベースでは、フィジカル・スタンバイに戻るまで受信したREDOデータが適用されないため、ロール遷移の実行に要する時間は、適用する必要があるREDOデータの量に正比例します。
スナップショット・スタンバイ・データベースの詳細は、『Oracle Data Guard概要および管理』を参照してください。
使用上の注意
ファスト・スタート・フェイルオーバーのターゲットである場合、フィジカル・スタンバイ・データベースをスナップショット・スタンバイ・データベースに変換できません。「ORA-16668: ファスト・スタート・フェイルオーバー・ターゲットのスタンバイ・データベースでは操作を実行できません
」というエラーが表示されます。
DGMGRL ADD DATABASEコマンドを使用して、既存のスナップショット・スタンバイ・データベースをData Guard Broker構成にインポートしてください。
スナップショット・スタンバイ・データベースを、スイッチオーバーまたはファスト・スタート・フェイルオーバーのターゲットにすることはできません。
ファスト・スタート・フェイルオーバーが無効化されている場合、スナップショット・スタンバイ・データベースは、手動フェイルオーバーのターゲットにすることができます。
SHOW CONFIGURATION
またはSHOW DATABASE
コマンドを使用して、変換の結果を確認できます。次に例を示します。
DGMGRL> SHOW CONFIGURATION; Configuration - DRSolution Protection Mode: MaxPerformance Databases: North_Sales - Primary database South_Sales - Snapshot standby database Fast-Start Failover: DISABLED Configuration Status: SUCCESS
スナップショット・スタンバイ・データベースをフィジカル・スタンバイ・データベースに戻すと、フィジカル・スタンバイ・データベースのデフォルトのAPPLY-ON
の状態になります。
コマンドの例
次のコマンドを発行して、フィジカル・スタンバイ・データベースをスナップショット・スタンバイ・データベースに変換します。
DGMGRL> CONVERT DATABASE 'South_Sales' to SNAPSHOT STANDBY; Converting database "South_Sales" to a Snapshot Standby database, please wait... Database "South_Sales" converted successfully
次のコマンドを発行して、スナップショット・スタンバイ・データベースをフィジカル・スタンバイ・データベースに戻します。
DGMGRL> CONVERT DATABASE 'South_Sales' to PHYSICAL STANDBY; Converting database "South_Sales" to a Physical Standby database, please wait... Operation requires shutdown of instance "south_sales1" on database "South_Sales" Shutting down instance "south_sales1"... Database closed. Database dismounted. ORACLE instance shut down. Operation requires startup of instance "south_sales1" on database "South_Sales" Starting instance "south_sales1"... ORACLE instance started. Database mounted. Continuing to convert database "South_Sales" ... Operation requires shutdown of instance "south_sales1" on database "South_Sales" Shutting down instance "south_sales1"... ORA-01109: database not open Database dismounted. ORACLE instance shut down. Operation requires startup of instance "south_sales1" on database "South_Sales" Starting instance "south_sales1"... ORACLE instance started. Database mounted. Database "South_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
の初期値としても使用されます。このオプションを指定しない場合、ブローカがプライマリ・データベースのLOG_ARCHIVE_DEST_
n
パラメータを検索して、対応するスタンバイ・データベースのエントリを探し、そのSERVICE
値を接続識別子として使用します。
使用上の注意
ブローカ構成は、グループとして管理する必要のある1つ以上のデータベースの名前付きコレクションです。各コマンド・パラメータの値を指定する必要があります。デフォルト値はありません。
このコマンドを発行するには、プライマリ・データベースに接続する必要があります。
ブローカでは、指定したconnect-identifier
が、他のデータベースから指定したデータベースへの通信に使用されます。したがって、構成内のすべてのデータベースから指定のデータベースへのアドレス指定に、connect-identifier
を使用できることを確認する必要があります。たとえば、TNSをネーミング・メソッドとして使用する場合、構成内のすべてのデータベースとインスタンスのtnsnames.oraファイルにconnect-identifier
のエントリが含まれることを確認する必要があります。接続識別子は同じ接続記述子に解決される必要があります。追加するデータベースがOracle RACデータベースである場合、Oracle RACのすべてのインスタンスにアクセスできる接続識別子
を指定する必要があります。FAILOVER
属性を設定することをお薦めします。
参照: 『Oracle Database Net Services管理者ガイド』 |
ブローカ構成の作成後にスタンバイ・データベースを追加するには、ADD DATABASEコマンドを使用します。
構成とそのすべてのデータベースがブローカによる管理対象から外れるように、構成のブローカ管理を無効化します。
使用上の注意
無効化された構成およびそこに含まれるすべてのデータベースが、ブローカで管理されなくなります。
プライマリ・データベースのブローカ管理を無効にするには、DISABLE CONFIGURATION
コマンドを使用する必要があります。
このコマンドは、構成ファイルからブローカ構成を削除しません。構成を削除する方法の詳細は、REMOVE CONFIGURATIONコマンドを参照してください。
構成が無効になっている間、データベース・プロパティを編集したり構成の保護モードを変更できます。ただし、プロパティや保護モードの変更結果は、構成が有効化されるまで有効になりません。
このコマンドは、ファスト・スタート・フェイルオーバーが有効になっている場合は実行できません。
指定したスタンバイ・データベースのブローカ管理を無効化します。つまり、ブローカではこのデータベースの状態を変更できなくなり、ブローカはデータベースの健全性ステータスや監視可能なデータベース・プロパティを監視しません。
ファスト・スタート・フェイルオーバーを無効化し、オブザーバによりターゲット・スタンバイ・データベースへのフェイルオーバーが開始されないようにします。詳細は、5.5.5項「ファスト・スタート・フェイルオーバーの無効化」を参照してください。
使用上の注意
プライマリ・データベースとターゲット・スタンバイ・データベースにネットワーク接続がある場合、ブローカ構成内のすべてのデータベースでファスト・スタート・フェイルオーバーを無効化するには、FORCE
オプションを指定せずにDISABLE FAST_START FAILOVER
を使用します。無効化操作中にエラーが発生した場合、ブローカによりエラー・メッセージが戻され、無効化操作が停止されます。エラー状態をオーバーライドし、接続先データベースのファスト・スタート・フェイルオーバーを無効化するには、FORCE
オプションを指定してDISABLE FAST_START FAILOVER
コマンドを再発行する必要があります。詳細は、5.5.5項「ファスト・スタート・フェイルオーバーの無効化」を参照してください。
プライマリ・データベースとターゲット・スタンバイ・データベース間のネットワークが切断されている場合、またはコマンドを受信するデータベースに、プライマリ・データベースとの接続がない場合には、FORCEオプションを
指定してDISABLE FAST_START FAILOVER
を使用します。FORCE
オプションは、エラー発生時でも、接続先データベースのファスト・スタート・フェイルオーバーを無効化します。
オブザーバおよびターゲットのスタンバイ・データベースから切断されたプライマリ・データベース上でFORCE
オプションを指定してファスト・スタート・フェイルオーバーを無効化しても、オブザーバによる、ターゲットのスタンバイ・データベースへのファスト・スタート・フェイルオーバーの開始を無効にはできません。
ブローカ構成のいずれかのデータベースに接続している場合、そのデータベースとプライマリ間が接続されていれば、ファスト・スタート・フェイルオーバーを無効化できます。
ターゲットのスタンバイ・データベース上で強制オプション付きで無効化され、その後プライマリ・データベースとの接続が再開された場合、ファスト・スタート・フェイルオーバーは、構成内のすべてのデータベースで無効化されています。
プライマリ・データベースとターゲット・スタンバイ・データベースがネットワークで接続されている場合、プライマリに接続しているときにFORCE
オプションを指定してファスト・スタート・フェイルオーバーを無効化すると、ターゲット・スタンバイ・データベースのファスト・スタート・フェイルオーバーが無効になります。
使用上の注意
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 - DRSolution
Protection Mode: MaxPerformance
Databases:
North_Sales - Primary database
South_Sales - Physical standby database
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS
EDIT CONFIGURATION
コマンドの入力時に構成のブローカ管理が無効になっている場合、構成の保護モードは、次回ENABLE CONFIGURATIONコマンドを使用して構成を有効化するまで有効にはなりません。
コマンドの例
次の例は、ブローカ構成をMAXAVAILABILITY
保護モードにアップグレードする方法を示しています。
次のように、スタンバイ・データベースでスタンバイREDOログ・ファイルが構成されていること、REDO転送サービスがSYNC
に設定されていることを確認します。
DGMGRL> EDIT DATABASE 'South_Sales' SET PROPERTY 'LogXptMode'='SYNC'; Property "LogXptMode" updated DGMGRL> EDIT CONFIGURATION SET PROTECTION MODE AS MAXAVAILABILITY; Succeeded.
コマンド・パラメータ
プロパティ値を変更するデータベースの名前。
データベース固有の既存のプロパティの名前。これがOracle RACデータベースの場合、このプロパティを変更するとデータベースのインスタンスすべてに影響します。
新しいプロパティ値。
注意: このコマンドを使用してインスタンス固有のプロパティの値を変更できるのは、指定したデータベースに関してブローカでインスタンスが1つしか認識されていない場合のみです。ブローカでデータベースのインスタンスが複数認識されている場合は、このコマンドを使用してインスタンス固有のプロパティを変更しようとしても拒否されます。インスタンス固有のプロパティの値の変更には、EDIT INSTANCE(プロパティ) のみを使用することをお薦めします。 |
コマンドの例
データベース・レベルの構成可能なデータベース固有のプロパティを編集します。
DGMGRL> EDIT DATABASE 'North_Sales' SET PROPERTY 'ArchiveLagTarget'=1200; Property "ArchiveLagTarget" updated
非Oracle RACデータベースの構成可能なインスタンス固有のプロパティを編集します。
DGMGRL> EDIT DATABASE 'South_Sales' SET PROPERTY > 'StandbyArchiveLocation'='/archfs/arch/'; Property "StandbyArchiveLocation" updated
Oracle RACデータベースの構成可能なインスタンス固有のプロパティを編集します。プロパティの変更が適用されるインスタンスが明らかでないため、このコマンドは失敗します。
DGMGRL> EDIT DATABASE 'North_Sales' SET PROPERTY > 'StandbyArchiveLocation'='/archfs/arch/'; Error: ORA-16587: ambiguous object specified to Data Guard broker Failed.
指定されたデータベースを参照するためにブローカが使用する、ブローカ構成内のそのデータベースのプロファイルに記録されている名前を変更します。
コマンド・パラメータ
状態を変更するデータベースの名前。
データベースを実行する状態。可能な状態は次のとおりです。
TRANSPORT-ON
(プライマリ・データベースのみ)TRANSPORT-OFF
(プライマリ・データベースのみ)APPLY-ON
(フィジカルまたはロジカル・スタンバイ・データベースのみ)APPLY-OFF
(フィジカルまたはロジカル・スタンバイ・データベースのみ)Oracle RACスタンバイ・データベースの場合に、適用インスタンスにするインスタンスの名前。
指定したインスタンスの初期化パラメータ・ファイル名を設定します。
書式
EDIT DATABASE instance-name
[ON DATABASE database-name]
SET AUTO PFILE [= { initialization-file | OFF } ];
コマンド・パラメータ
初期化パラメータ・ファイルを指定するインスタンスの名前(SID)。
instance-name
が関連付けられているデータベースの名前。
後続のブローカ操作でインスタンスを自動的に起動する必要がある場合は、そのインスタンスの起動操作を実行します。SET AUTO PFILE
をOFF
に設定すると、そのインスタンスの自動再起動は無効化されます。そのインスタンスを後続の操作で起動する必要がある場合は、手動で起動する必要があります。インスタンスに対してSET AUTO PFILE
を指定しない場合、自動起動操作では初期化パラメータ・ファイルがデフォルト位置で検索されます。
指定したインスタンスのインスタンス固有のプロパティ値を変更します。
書式
EDIT INSTANCE { {instance-name [ON DATABASE database-name] } | {* ON DATABASE database-name} }
SET PROPERTY property-name = value;
コマンド・パラメータ
インスタンス固有のプロパティ値を変更するインスタンスの名前(SID)。インスタンス名にアスタリスクが付いている場合、ON DATABASE
句も指定し、この変更をそのデータベースに関連する各インスタンスの指定プロパティに適用する必要があります。EDIT INSTANCE * ON DATABASE
database-name
コマンドを使用して変更可能なインスタンス固有のプロパティについては、第8章を参照してください。
instance-name
が関連付けられているデータベースの名前。instance-name
にアスタリスクが付けられている場合、または構成内でinstance-name
が一意でない場合は、このパラメータを指定する必要があります。
新しい値を設定するインスタンス固有のプロパティの名前。
新しいプロパティ値。
使用上の注意
instance-name
には、構成全体で一意の名前を指定できます。instance-name
が一意ではない場合、database-name
およびinstance-name
の両方を指定してインスタンスを完全に識別する必要があります。
このコマンドは、データベース固有のプロパティの変更には使用できません。
コマンドの例
インスタンス固有のプロパティを編集します。
DGMGRL> EDIT INSTANCE 'north_sales1' ON DATABASE 'North_Sales' > SET PROPERTY 'StandbyArchiveLocation'='/archfs/arch/'; Property "StandbyArchiveLocation" updated.
データベース固有のプロパティを編集します。この操作は許可されません。
DGMGRL> EDIT INSTANCE 'north_sales1' ON DATABASE 'North_Sales' > SET PROPERTY 'LogXptMode'='SYNC'; Error: ORA-16586: cannot change database property with EDIT INSTANCE command Failed.
Oracle RACデータベースのすべてのインスタンスのインスタンス固有のプロパティを変更します。
DGMGRL> EDIT INSTANCE * ON DATABASE 'North_Sales' LogArchiveTrace=4095;
すべてのデータベースを含むブローカ構成をブローカでアクティブに管理できるようにします。
使用上の注意
このコマンドを使用すると、プライマリ・データベースとすべてのスタンバイ・データベース(スタンバイ・データベースがユーザーによって明示的に無効化されていない場合)をブローカで管理できるようになります。
このコマンドを発行するには、プライマリ・データベースに接続する必要があります。
デフォルトでは、構成のデータベースのブローカ管理は、プライマリ・データベースではTRANSPORT-ON
状態で有効化され、REDO転送サービスがオンになり、スタンバイ・データベースではAPPLY-ON
状態で有効化され、ログ適用サービスが起動します。EDIT DATABASE(状態)コマンドを使用して任意のデータベースの状態を変更できますが、対象のデータベースまたは構成全体が無効になっている場合は変更できません。
構成に関する情報を表示するには、SHOW CONFIGURATIONコマンドを使用します。
指定したスタンバイ・データベースのブローカ管理を有効化します。
使用上の注意
このコマンドを発行するには、プライマリ・データベースまたはすでに有効化されたスタンバイ・データベースに接続する必要があります。
前のフェイルオーバー操作またはスイッチオーバー操作の結果、ブローカによりスタンバイ・データベースが無効化されている場合があります。データベースを回復または再作成する方法は、5.4.3項を参照してください。
デフォルトでは、フィジカルまたはロジカル・スタンバイ・データベースのブローカ管理はAPPLY-ON
状態で有効化され、ログ適用サービスが有効化されます。データベースが有効になっている場合にのみ、EDIT DATABASE(状態)コマンドを使用してスタンバイ・データベースの状態を変更できます。
構成に関する情報を表示するには、SHOW DATABASEコマンドを使用します。
Oracle RACデータベースの場合は、インスタンスを1つ起動してマウントすれば、このコマンドが正常に実行されます。
プライマリ・データベースが消失した場合、ブローカによる、具体的に選択されたスタンバイ・データベースへのフェイルオーバーが可能になり、フェイルオーバーを起動するために手動による手順を実行する必要がありません。詳細は、5.5.2項「ファスト・スタート・フェイルオーバーの有効化」を参照してください。
使用上の注意
このコマンドを発行してファスト・スタート・フェイルオーバーを有効化する前に、5.5.1項で説明する前提条件を満たす必要があります。
ENABLE FAST_START FAILOVER
コマンドの発行により、フェイルオーバーが起動されることはありません。構成を監視しているオブザーバが、フェイルオーバーの条件が満たされた場合に、ファスト・スタート・フェイルオーバーを開始できるようにするだけです。
ブローカ構成のデータベースに接続されている間は、ファスト・スタート・フェイルオーバーを有効化できます。
ファスト・スタート・フェイルオーバーを有効化した後にオブザーバを開始しない場合、プライマリ・データベースとターゲットのスタンバイ・データベースにORA-16819
の警告が表示されます。次に例を示します。
DGMGRL> SHOW DATABASE 'South_Sales'; Database - South_Sales Role: PRIMARY Intended State: TRANSPORT-ON Instance(s): south_sales1 Database Warning(s): ORA-16819: fast-start failover observer not started Database Status: WARNING
複数のスタンバイ・データベースを含むブローカ構成でファスト・スタート・フェイルオーバーを有効化する場合は、目的のターゲット・スタンバイ・データベースを指すようにFastStartFailoverTarget
構成プロパティをプライマリ・データベース上で設定する必要があります。プライマリ・データベースおよびターゲット・スタンバイ・データベースの両方が次の条件を満たしている必要があります。
スタンバイREDOログが構成されていること
データベース・プロパティLogXptMode
がSYNC
に設定され、保護モードがMAXAVAILABILITY
に設定されているか、LogXptMode
プロパティがASYNC
に設定され、保護モードがMAXPERFORMANCE
に設定されていること
プライマリ・データベースとスタンバイ・データベースの両方で「データベースをフラッシュバック」が有効化されていること
FastStartFailoverTarget構成プロパティの詳細は、5.5.2項の手順2、および8.3.10項
を参照してください。
ファスト・スタート・フェイルオーバーを有効化した後は、5.5.2.2項「ファスト・スタート・フェイルオーバーが有効化されている場合の制限事項」の説明にある制約に従う必要があります。
コマンドの例
次の例では、ファスト・スタート・フェイルオーバーを有効化しています。
DGMGRL> ENABLE FAST_START FAILOVER; Enabled.
次の例では、最大パフォーマンス・モードで動作している構成で、ファスト・スタート・フェイルオーバーが正常に有効化されました。
DGMGRL> SHOW FAST_START FAILOVER; Fast-Start Failover: ENABLED Threshold: 30 seconds Target: South_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)
ファスト・スタート・フェイルオーバーを実行する追加条件を指定します。
使用上の注意
可能な値は、データベース健全性チェック機能によって保持されるセットまたはいずれかのORA-xxxxエラーに対応する番号です。
健全性チェック機能によって保持される条件は将来変更される場合がありますが、いくつかの一般的な例が表7-2に示されています。
表7-2 健全性条件の例
健全性条件 | 説明 |
---|---|
データファイル・オフライン |
書込みエラーによってデータファイルがオフラインになりました。 |
破損した制御ファイル |
制御ファイルが破損しました。 |
破損したディクショナリ |
重要なデータベース・オブジェクトのディクショナリが破損しました。 |
アクセス不可能なログ・ファイル |
I/Oエラーにより、LGWRがログ・グループのどのメンバーにも書き込むことができません。 |
スタック・アーカイバ |
デバイスに空き容量がないかデバイスを使用できないためにアーカイバがREDOログをアーカイブできません。 |
Oracleエラー番号(例: 27102) |
エラー番号が発生すると、ファスト・スタート・フェイルオーバーが実行されます。 |
デフォルトでは、「データファイル・オフライン」、「破損した制御ファイル」、「破損したディクショナリ」が有効になっています。
SHOW FAST_START FAILOVER
コマンドでこれらの構成可能な条件を表示できます。
指定したターゲットのスタンバイ・データベースをプライマリ・データベースのロールに遷移するフェイルオーバーを開始します。このタイプのフェイルオーバーは、手動フェイルオーバーと呼びます。詳細は、5.4項「手動フェイルオーバー」を参照してください。
注意: フェイルオーバーを実行すると、スタンバイ・データベースがプライマリ・データベースのロールに遷移するため、フェイルオーバーは、プライマリ・データベースに障害が発生するか使用不可になり、適時にリカバリできない場合に実行してください。フェイルオーバーの結果、実行時に有効になっている保護モード、およびターゲット・スタンバイ・データベースがプライマリ・データベースと同期化されていたかどうかによっては、データが消失する場合があります。プライマリ・データベースに障害がなく、データの消失なしに現在のプライマリ・データベースとスタンバイ・データベースのロールを切り替えるには、 |
使用上の注意
ORA-752
またはORA-600
[3020]
エラーにより、フェイルオーバー・ターゲットでREDO Applyが停止されていないかぎり、常に完全フェイルオーバーを最初に実行するようにします。これらのエラーのいずれかが発生した場合は、先に進む前に、My Oracle Supportノート1265884.1 (http://support.oracle.com
)のスタンバイ・リカバリ時のORA-752またはORA-600 [3020]の解決のガイドラインに従います。即時フェイルオーバーは、完全フェイルオーバーが失敗するか、前述のエラーの場合にのみ実行してください。
指定したスタンバイ・データベースは、プライマリ・データベースに障害が発生する前に有効化されている必要があります。ただし、有効化されているスタンバイ・データベースが停止している場合は、フェイルオーバー操作の候補とみなすことができます。この場合は、DGMGRLのSTARTUP
コマンドを使用してスタンバイ・データベースを再起動してからFAILOVER
コマンドを発行します。
フェイルオーバーは、指定したスタンバイ・データベースに対して動作し、スタンバイ・データベースのロールがプライマリ・データベースのロールに変更されます。フェイルオーバーに関係しないその他のスタンバイ・データベースは、スタンバイ・ロールのままです。
FAILOVER
コマンドを発行する前に、新しいプライマリ・データベースになるスタンバイ・データベースに接続していることを確認します。必要な場合は、CONNECTコマンドを発行してフェイルオーバーするスタンバイ・データベースに接続します。
オプションを指定せずにFAILOVER
コマンドを発行すると、フェイルオーバー・ターゲットとして選択したスタンバイ・データベースにより、プライマリ・ロールへの変更前に受信した未適用のREDOがすべて適用されます。これを完全フェイルオーバーと呼びます。
ブローカ構成が最大保護モードで動作している場合、手動フェイルオーバー操作を実行すると、保護モードが強制的に最大パフォーマンスに設定されます。REDO転送サービスの設定は影響を受けません。フェイルオーバー操作後に、構成に必要な保護モードをリストアする必要があります。
注意: ファスト・スタート・フェイルオーバーの場合は、ブローカにより、フェイルオーバー前に有効になっていた保護モードが維持されます。ファスト・スタート・フェイルオーバーが有効化されている場合、ブローカ構成を最大保護モードにすることはできません。 |
IMMEDIATE
オプションを指定してFAILOVER
コマンドを発行すると、受け取った未適用のREDOの適用は試行されません。このオプションを指定すると、スタンバイ・データベースでスタンバイREDOログ・ファイルが構成されている場合でも、アプリケーション・データが消失する可能性があります。また、構成内の他のスタンバイ・データベースは、回復または再作成されるまで機能しません。詳細は、5.4.3項を参照してください。
手動フェイルオーバーを実行するか、ブローカをファスト・スタート・フェイルオーバーを実行するように設定できます。フェイルオーバーの条件が満たされた場合に、ブローカにより自動的にフェイルオーバーを起動させる方法については、ENABLE FAST_START FAILOVERコマンドを参照してください。
ファスト・スタート・フェイルオーバーが有効になっている場合は、完全手動フェイルオーバーを、ファスト・スタート・フェイルオーバーのターゲット・スタンバイ・データベースに対してのみ、そのスタンバイ・データベースがプライマリ・データベースと同期化されているかプライマリ・データベースのラグ制限内である場合にのみ、およびオブザーバーが開始されている場合にのみ実行できます。ファスト・スタート・フェイルオーバーが有効になっている場合に、即時手動フェイルオーバーは実行できません。
障害が発生した元のプライマリ・データベース上で、フェイルオーバーの前に「データベースをフラッシュバック」が有効化されていた場合は、ブローカのREINSTATE
コマンド(REINSTATE DATABASEコマンドを参照)を使用して、そのプライマリ・データベースを回復できます。
フィジカル・スタンバイ・データベースに対してフェイルオーバーが実行された場合は、そのスタンバイ・データベースで「データベースをフラッシュバック」が有効化されていて、使用可能なフラッシュバック・ログ情報が不足なくある場合にのみ、そのフェイルオーバーにより無効化されたその他のフィジカル・スタンバイ・データベースも回復できます。手順については、5.4.3項「ロール変更後の無効化されたデータベースの再有効化」を参照してください。
元のプライマリ・データベースは、回復または再作成後、スタンバイ・データベースとしてのみ構成に関係できます。
注意: フェイルオーバー前にまだアクティブなインスタンスが実行されている場合は、元のプライマリ・データベースを停止してください。 |
コマンドの例
次の例では、スタンバイ・データベースSouth_Sales
がプライマリ・ロールに遷移するフェイルオーバーを実行しています。
DGMGRL> FAILOVER TO 'South_Sales'; Performing failover NOW, please wait... Failover succeeded, new primary is "South_Sales" DGMGRL> SHOW CONFIGURATION; Configuration - DRSolution Protection Mode: MaxPerformance Databases: South_Sales - Primary database North_Sales - Physical standby database (disabled) ORA-16661: the standby database needs to be reinstated Fast-Start Failover: DISABLED Configuration Status: WARNING
Data Guardコマンドライン・インタフェースのオンライン・ヘルプを表示します。
コマンド・パラメータ
ヘルプ情報を表示するトピック。トピックを指定しない場合、すべてのトピックおよび書式が表示されます。有効なトピックは、次のとおりです。
ADD
CONNECT
CONVERT
CREATE
DISABLE
EDIT
ENABLE
EXIT
FAILOVER
HELP
QUIT
REINSTATE
REM
REMOVE
SHOW
SHUTDOWN
START
STARTUP
STOP
SWITCHOVER
コマンドの例
次の例では、EDIT
コマンドのヘルプを取得しています。
DGMGRL> HELP EDIT; Edits 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>; EDIT INSTANCE * ON DATABASE <database name> SET PROPERTY <property name> = <value>;
ブローカ構成内で、データベースを現在のプライマリ・データベースの新規スタンバイ・データベースとして回復します。
使用上の注意
5.5.8項で説明する回復の条件が満たされていない場合、回復処理は失敗し、対応するエラー・ステータスが表示され、指定されたデータベースは無効なままになります。
database-name
に、元のプライマリの名前が指定され、ファスト・スタート・フェイルオーバーが有効化されている場合、元のプライマリ・データベースは、新規プライマリ・データベースのスタンバイとして回復し、ファスト・スタート・フェイルオーバー環境は、新規スタンバイ・データベースの可用性を反映して更新されます。新規スタンバイ・データベースは、新規プライマリ・データベースに障害が発生した場合、新規プライマリ・データベースからREDOデータを受け取り、ファスト・スタート・フェイルオーバーのターゲットとなります。FastStartFailoverAutoReinstate
構成プロパティがFALSE
に設定されている場合を除き、オブザーバが実行中であれば自動的に回復が実行されます。
このコマンドでは、ファスト・スタート・フェイルオーバーが有効化されている必要はありません。このコマンドは、完全手動フェイルオーバーが実行された後、元のプライマリ・データベースを回復する場合に使用できます。完全または即時フェイルオーバー後に無効化されたその他のスタンバイ・データベースを回復するために使用することもできます。
このコマンドは、ブローカ構成内で回復させるデータベース以外のデータベースに接続されている場合に発行します。
コマンドの例
次の例に、South_Sales
データベースを、ブローカ構成のスタンバイ・データベースとして回復させる方法を示します。
DGMGRL> REINSTATE DATABASE 'North_Sales'; Reinstating database "North_Sales", please wait... Operation requires shutdown of instance "north_sales1" on database "North_Sales" Shutting down instance "north_sales1"... ORA-01109: database not open Database dismounted. ORACLE instance shut down. Operation requires startup of instance "north_sales1" on database "North_Sales" Starting instance "north_sales1"... ORACLE instance started. Database mounted. Continuing to reinstate database "North_Sales" ... Reinstatement of database "North_Sales" succeeded
Data Guardブローカ構成ファイルから、すべてのデータベース・プロファイルを含む全ブローカ構成情報を削除し、ブローカ構成に関連付けられているすべてのデータベースのブローカ管理を終了します。
注意: REMOVE CONFIGURATION コマンドを使用すると、Data Guardブローカ構成ファイルからすべてのプロファイル情報が削除され、リカバリできません。 |
使用上の注意
デフォルトでは、このコマンドを実行すると、プライマリ・データベースのLOG_ARCHIVE_DEST_
n
初期化パラメータと構成内の全データベースのLOG_ARCHIVE_CONFIG
初期化パラメータから、対応するブローカ設定が削除されます。これらの設定を保持するには、PRESERVE DESTINATIONS
オプションを使用します。
このコマンドでは、基礎となるData Guard構成の実際のプライマリまたはスタンバイ・データベース・インスタンス、データベース、データファイル、制御ファイル、初期化パラメータ・ファイル、サーバー・パラメータ・ファイルまたはログ・ファイルは削除されず、影響を受けません。
ファスト・スタート・フェイルオーバーが有効化されている場合は、その構成を削除できません。
コマンドの例
次の例では、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
次のコマンドは、ファスト・スタート・フェイルオーバーが有効になっているために失敗しています。
DGMGRL> REMOVE CONFIGURATION; Error: ORA-16654: fast-start failover is enabled Failed. DGMGRL> SHOW CONFIGURATION; Configuration - The SUPER cluster Protection Mode: MaxAvailability Databases: North_Sales - Primary database South_Sales - (*) Physical standby database Fast-Start Failover: ENABLED Configuration status: SUCCESS
指定したスタンバイ・データベースのプロファイルをブローカ構成から削除し、スタンバイ・データベースのブローカ管理を終了します。
注意: REMOVE DATABASE コマンドを使用すると、ブローカ構成ファイルからデータベースのプロファイル情報が削除され、リカバリできません。 |
使用上の注意
ブローカ構成に含まれるプライマリ・データベースの名前を指定すると、エラーが戻されます。
デフォルトでは、このコマンドを実行すると、プライマリ・データベースのLOG_ARCHIVE_DEST_
n
初期化パラメータと構成内の全データベースのLOG_ARCHIVE_CONFIG
初期化パラメータから、対応するブローカ設定が削除されます。これらの設定を保持するには、PRESERVE DESTINATIONS
オプションを使用します。
このコマンドは、ファスト・スタート・フェイルオーバーが有効になっている場合は実行できません。また、database-nameには、ターゲットのスタンバイ・データベースの名前を指定します。
コマンドの例
次の例に、Data Guard Broker構成からデータベースを削除する方法を示します。
DGMGRL> SHOW CONFIGURATION; Configuration - The SUPER cluster Protection Mode: MaxPerformance Databases: North_Sales - Primary database South_Sales - Physical standby database Fast-Start Failover: DISABLED Configuration status: SUCCESS DGMGRL> REMOVE DATABASE 'South_Sales'; Removed database "South_Sales" from the configuration. Configuration - The SUPER cluster Protection Mode: MaxPerformance Databases: North_Sales - Primary database Fast-Start Failover: DISABLED Configuration status: SUCCESS
ブローカ構成の既存のデータベース・プロファイルからインスタンスを削除します。
コマンド・パラメータ
ブローカ構成から削除するインスタンスの名前(SID)。
instance-name
が関連付けられているデータベースの名前。
使用上の注意
Oracle RACデータベースの場合は、ブローカにより自動的に、対応するデータベース・プロファイルに起動済インスタンスが追加されます。ただし、データベース・プロファイルからはインスタンスを自動的に削除できません。REMOVE INSTANCE
コマンドを使用すると、存在しなくなったインスタンスをデータベース・プロファイルから手動で削除できます。
instance-name
には、構成全体で一意の名前を指定できます。instance-name
が一意ではない場合、database-name
およびinstance-name
の両方を指定してインスタンスを完全に識別する必要があります。
ブローカ構成内で現在アクティブなインスタンスの場合は、このコマンドが拒否されます。
現在そのインスタンスのみがデータベース・プロファイルに関連付けられている場合、このコマンドは拒否されます。
ブローカ構成のサマリーおよびステータスを表示します。サマリーには、ブローカ構成に含まれるすべてのデータベースと、ファスト・スタート・フェイルオーバーのステータスなど、ブローカ構成自体に関するその他の情報が表示されます。
使用上の注意
ファスト・スタート・フェイルオーバーに関連するプロパティを表示するには、SHOW CONFIGURATION VERBOSE
コマンド(またはSHOW FAST_START FAILOVER
コマンド)を使用します。
VERBOSE
またはproperty-name
のどちらかをオプションで指定できますが、両方指定することはできません。
コマンドの例
次の例では、ファスト・スタート・フェイルオーバーが無効化されているDRSolution
構成のサマリーを表示しています。
DGMGRL> SHOW CONFIGURATION; Configuration - The SUPER cluster Protection Mode: MaxPerformance Databases: North_Sales - Primary database South_Sales - Physical standby database Fast-Start Failover: DISABLED Configuration status: SUCCESS
次の例では、DRSolution構成の詳細な情報を、構成プロパティ、ファスト・スタート・フェイルオーバー関連の情報を含めて表示しています。
DGMGRL> SHOW CONFIGURATION VERBOSE; Configuration - DRSolution Protection Mode: MaxAvailability Databases: North_Sales - Primary database South_Sales - (*) Physical standby database (*) Fast-Start Failover target Properties: FastStartFailoverThreshold = '60' OperationTimeout = '30' FastStartFailoverLagLimit = '30' CommunicationTimeout = '180' FastStartFailoverAutoReinstate = 'TRUE' FastStartFailoverPmyShutdown = 'TRUE' BystandersFollowRoleChange = 'ALL' Fast-Start Failover: ENABLED Threshold: 180 seconds Target: South_Sales Observer: observer.example.com Lag Limit: 30 seconds (not in use) Shutdown Primary: TRUE Auto-reinstate: TRUE Configuration Status: SUCCESS
指定したデータベースとそのインスタンスに関する情報またはプロパティ値を表示します。
コマンド・パラメータ
情報を表示するデータベースの名前。VERBOSE
キーワードを使用する場合は、database-name
の前に指定する必要があります。そうしないとエラーが戻ります。
値を表示するプロパティの名前。プロパティ名を指定すると、VERBOSE
キーワードを指定したかどうかにかかわらず、出力には指定したプロパティのみ(データベースのすべてのプロパティではなく)が表示されます。
使用上の注意
SHOW DATABASE
コマンドを使用すると、データベースの簡潔なサマリーが表示されます。SHOW DATABASE VERBOSE
コマンドを使用すると、簡潔なサマリーに加えてデータベースのプロパティが表示されます。データベースのステータスは、どちらのコマンドでも表示されます。
SHOW DATABASE VERBOSE
コマンドを使用すると、データベース固有のプロパティとインスタンス固有のプロパティが表示されます。非Oracle RACデータベースの場合、インスタンス固有のプロパティの値は、データベースの唯一のインスタンスの値です。Oracle RACデータベースの場合、プロパティ名は表示されますが、インスタンス固有のプロパティの値は表示されません。これらのプロパティについてインスタンス固有の値を表示するには、SHOW INSTANCE
コマンドを使用します。
SHOW DATABASE VERBOSE
コマンドで表示されるプロパティは、データベース・ロールと構成の内容によって異なります。
プライマリ・データベースの場合は、構成に少なくとも1つのフィジカルまたはスナップショット・スタンバイ・データベースが含まれている場合にのみ、フィジカルまたはスナップショット・スタンバイ・データベース固有のプロパティが表示されます。ロジカル・スタンバイ・データベース固有のプロパティは、構成に少なくとも1つロジカル・スタンバイ・データベースが含まれている場合にのみ表示されます。
フィジカルおよびスナップショット・スタンバイ・データベースの場合、ロジカル・スタンバイ・データベース固有のプロパティは表示されません。
ロジカル・スタンバイ・データベースの場合、フィジカルおよびスナップショット・スタンバイ・データベース固有のプロパティは表示されません。
Oracle RACデータベースのインスタンス固有のプロパティを表示するためにSHOW DATABASE
database-name property-name
コマンドを使用すると、このコマンドは拒否されます。
コマンドの例
データベース情報を簡略形式で表示します。
DGMGRL> SHOW DATABASE 'South_Sales'; Database - South_Sales Role: PHYSICAL STANDBY Intended State: APPLY-ON Transport Lag: 0 seconds Apply Lag: 0 seconds Real Time Query: OFF Instance(s): south_sales1 Database Status: SUCCESS
データベース情報を拡張形式で表示します。
DGMGRL> SHOW DATABASE VERBOSE 'South_Sales'; Database - South_Sales Role: PHYSICAL STANDBY Intended State: OFFLINE Transport Lag: 0 Apply Lag: 0 Real Time Query: OFF Instance(s): south_sales1 Properties: DGConnectIdentifier = 'South_Sales.example.com' ObserverConnectIdentifier = '' LogXptMode = 'SYNC' 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 = 'North_Sales' InconsistentProperties = '(monitor)' InconsistentLogXptProps = '(monitor)' SendQEntries = '(monitor)' LogXptStatus = '(monitor)' RecvQEntries = '(monitor)' SidName = 'south_sales1' StaticConnectIdentifier = '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp) (HOST=south_sales1.example.com)(PORT=2840)) (CONNECT_DATA=(SERVICE_NAME=South_Sales_DGMGRL.example.com) (INSTANCE_NAME=south_sales1)(SERVER=DEDICATED)))' StandbyArchiveLocation = 'USE_DB_RECOVERY_FILE_DEST' AlternateLocation = '' LogArchiveTrace = '255' LogArchiveFormat = 'db2r_%d_%t_%s_%R.arc' LatestLog = '(monitor)' TopWaitEvents = '(monitor)' Database Status: SUCCESS
すべてのファスト・スタート・フェイルオーバー関連情報を表示します。
コマンドの例
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
コマンド・パラメータ
情報を表示するインスタンスの名前。VERBOSE
キーワードを使用する場合は、インスタンス名の前に指定する必要があります。
値を表示するプロパティの名前。プロパティ名を指定すると、VERBOSE
キーワードを指定したかどうかにかかわらず、出力には指定したプロパティのみ(すべてのプロパティではなく)が表示されます。
情報を表示するインスタンスに関連付けられているデータベースの名前。
使用上の注意
SHOW INSTANCE
コマンドを使用すると、インスタンスの簡潔なサマリーが表示されます。SHOW INSTANCE VERBOSE
コマンドを使用すると、簡潔なサマリーに加えてインスタンスのプロパティが表示されます。インスタンスのステータスは、どちらのコマンドでも表示されます。
SHOW INSTANCE VERBOSE
コマンドでは、インスタンス固有のプロパティのみが表示されます。
SHOW INSTANCE VERBOSE
コマンドで表示されるプロパティは、データベース・ロールと構成の内容によって異なります。
プライマリ・データベースのインスタンスの場合は、構成に少なくとも1つのフィジカルまたはスナップショット・スタンバイ・データベースが含まれている場合にのみ、フィジカルまたはスナップショット・スタンバイ・インスタンス固有のプロパティが表示されます。ロジカル・スタンバイ・インスタンス固有のプロパティは、構成に少なくとも1つロジカル・スタンバイ・データベースが含まれている場合にのみ表示されます。
フィジカルまたはスナップショット・スタンバイ・データベースのインスタンスの場合、ロジカル・スタンバイ・インスタンス固有のプロパティは表示されません。
ロジカル・スタンバイ・データベースのインスタンスの場合、フィジカルおよびスナップショット・スタンバイ・インスタンス固有のプロパティは表示されません。
instance-name
には、構成全体で一意の名前を指定できます。instance-name
が一意ではない場合、database-name
およびinstance-name
の両方を指定してインスタンスを完全に識別する必要があります。
コマンドの例
次の例では、データベースの特定のインスタンスに関する情報を表示します。
DGMGRL> SHOW INSTANCE 'north_sales1'; Instance 'north_sales1' of database 'North_Sales' Instance Status: SUCCESS
インスタンス情報を拡張形式で表示します。
DGMGRL> SHOW INSTANCE VERBOSE 'north_sales1'; Instance 'north_sales1' of database 'North_Sales' Host Name: north.example.com PFILE: Properties: SidName = 'north_sales1' StaticConnectIdentifier = '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp) (HOST=north.example.com)(PORT=2094)) (CONNECT_DATA=(SERVICE_NAME=North_Sales_DGMGRL.example.com) (INSTANCE_NAME=north_sales1)(SERVER=DEDICATED)))' StandbyArchiveLocation = 'USE_DB_RECOVERY_FILE_DEST' AlternateLocation = '' LogArchiveTrace = '255' LogArchiveFormat = 'r_%d_%t_%s_%R.arc' LatestLog = '(monitor)' TopWaitEvents = '(monitor)' Instance Status: SUCCESS
使用上の注意
引数を指定せずにSHUTDOWN
コマンドを使用すると、SHUTDOWN NORMAL
コマンドを使用した場合と同じ結果になります。
SHUTDOWN
コマンドのオプションを次に示します。
ABORT
コールの完了やデータベースからのユーザーの切断を待たずに、データベースを可能なかぎり高速でシャットダウンします。コミットされていないトランザクションはロールバックされません。処理中のクライアントのSQL文は終了します。データベースに接続されているユーザー全員が暗黙的に切断され、次回のデータベース起動時にはインスタンスのリカバリが必要になります。バックグラウンド・プロセスが異常終了した場合は、このオプションを使用する必要があります。
注意: ファスト・スタート・フェイルオーバーが有効化され、オブザーバが実行されている場合に、プライマリ・データベースにABORT オプションを使用すると、ファスト・スタート・フェイルオーバーが実行される場合があります。意図しないファスト・スタート・フェイルオーバーの実行を防ぐには、IMMEDIATE またはNORMAL オプションを使用します。 |
IMMEDIATE
現在のコールが完了したり、ユーザーがデータベースから切断するまで待機しません。それ以降の接続は禁止されます。データベースはクローズされ、ディスマウントされます。インスタンスはシャットダウンされ、次回のデータベース起動時にインスタンスのリカバリは不要です。
NORMAL
これはデフォルトのオプションです。プロセスは、ユーザーがデータベースから切断するまで待機します。それ以降の接続は禁止されます。データベースはクローズされ、ディスマウントされます。インスタンスはシャットダウンされ、次回のデータベース起動時にインスタンスのリカバリは不要です。
ファスト・スタート・フェイルオーバーを開始します。
使用上の注意
ファスト・スタート・フェイルオーバーを有効化する予定のブローカ構成を監視するには、Oracle Client Administratorキット、Oracle Database Enterprise EditionまたはOracle Database Personal Editionのフルキットを、オブザーバ・コンピュータ上にインストールする必要があります。詳細は、5.5.1項を参照してください。
START OBSERVER
コマンドは、オブザーバ・コンピュータ上で発行する必要があります。オブザーバが正常に開始されると、制御は、(別のクライアント接続からのSTOP OBSERVERのコマンドの発行などにより)オブザーバが停止されるまでユーザーには戻されません。そのブローカ構成とさらに交信する場合は、他のクライアントを介して接続する必要があります。
オブザーバは、正常に起動すると自動的に動作します。このため、START OBSERVER
コマンドを発行する目的でDGMGRLを起動する場合、オブザーバとして機能する間に生成された出力が失われないように、コマンドラインでオプション・パラメータ-logfile
を指定することをお薦めします。このパラメータの詳細は7.1.1項を参照し、-logfileオプションの使用例は9.5.3項
を参照してください。
ディレクトリ・パスがFILE
パラメータを使用して指定されていない場合、オブザーバは、現在の作業ディレクトリでfsfo.dat
ファイルを検索します。fsfo.dat
ファイルが検出されない場合で、START OBSERVER
コマンドを初めて発行する場合には、オブザーバにより、fsfo.dat
ファイルが作成されます。
プライマリ・データベースおよびターゲット・スタンバイ・データベースのDB_UNIQUE_NAME
初期化パラメータおよび接続識別子は、fsfo.dat
構成ファイルに格納されています。このファイルの不正アクセスを確実に防止することをお薦めします。
このコマンドを発行する前に、ファスト・スタート・フェイルオーバーを有効化しておく必要はありません。
ファスト・スタート・フェイルオーバーが有効化されている場合、オブザーバは、プライマリおよびターゲット・スタンバイの接続識別子をブローカ構成から取得し、構成の監視を開始します。
ファスト・スタート・フェイルオーバーが有効化されていない場合、オブザーバは、継続的にファスト・スタート・フェイルオーバーの有効化の時期を監視します。
このコマンドの発行時、実行されている必要があるのはプライマリ・データベースのみです。コマンドを正常に実行するために、ファスト・スタート・フェイルオーバーのターゲットとなるスタンバイ・データベースが実行されている必要はありません。
オブザーバおよびそのホスト・コンピュータのステータスを表示するには、SHOW FAST_START FAILOVER
コマンドまたはSHOW CONFIGURATION VERBOSE
コマンドを使用するか、プライマリ・データベースのV$DATABASE
ビューでFS_FAILOVER_*
列を問い合せます。
SHOW FAST_START FAILOVER
コマンドは、オブザーバが起動済であるとブローカ構成で認識されているかどうかを示します。コマンドで次のように表示される場合、任意のコンピュータでSTART OBSERVER
コマンドを発行しオブザーバを起動できます。
Observer: (none)
SHOW FAST_START FAILOVER
コマンドで「Observer:」の値が表示されたが、そのオブザーバの場所にあるオブザーバがなんらかの理由で実行されていない場合、次のいずれかの操作を実行できます。
オブザーバを最初に起動したときに使用したオブザーバ構成ファイルを指定して、START OBSERVER
コマンドを、最初にオブザーバを起動したオブザーバ・コンピュータ上で発行します。
任意のコンピュータ上で、STOP OBSERVER
コマンドを発行してからSTART OBSERVER
コマンドを発行してオブザーバを起動します。
SHOW FAST_START FAILOVER
コマンドで「Observer:」の値が表示され、オブザーバがその場所ですでに実行されている場合、同じ場所で再度オブザーバを起動しようとすると、次のエラーが表示されて失敗します。
DGM-16954: Unable to open and lock the Observer configuration file
SHOW FAST_START FAILOVER
コマンドで「Observer:」の値が表示された場合、別の場所でオブザーバを起動しようとすると、次のエラーが表示されてコマンドは失敗します。
ORA-16647: could not start more than one observer
プライマリ・データベースとターゲットのスタンバイ・データベースの間の接続が維持されている状態でオブザーバとの接続が失われた場合、プライマリ・データベースは監視されない状態になります。この状態は、ブローカの健全性チェック機能により報告されます。
コマンドの例
次の例では、オブザーバの起動方法を示しています。
DGMGRL> CONNECT sys@North_Sales.example.com;
Password: password
Connected.
DGMGRL> START OBSERVER;
Observer started
次の例は、コマンドラインで接続資格証明を表示できないように、CONNECT '/'
を使用してオブザーバを起動する方法を示しています。
DGMGRL> CONNECT /@North_Sales.example.com; DGMGRL> START OBSERVER; Observer started.
CONNECT '/'
を使用するには、OracleウォレットまたはSSLを設定する必要があります。OracleウォレットまたはSSLを設定することで、スクリプトでデータベース資格証明を指定せずに、オブザーバをバックグラウンド・ジョブとして安全に起動および実行するためのスクリプトを記述できます。Oracleウォレットをセキュアな外部パスワード・ストアとして使用する場合は、プライマリ・データベースおよびファスト・スタート・フェイルオーバーのターゲット・スタンバイ・データベースの資格証明を追加する必要があります。各データベースの資格証明を追加するとき、指定するデータベース接続文字列は、データベース・プロパティObserverConnectIdentifer
またはDGConnectIdentifier
と一致している必要があります。
参照: Oracleウォレットの詳細は、『Oracle Database Advanced Security管理者ガイド』を参照してください。 |
次のいずれかのオプションを指定してOracleデータベース・インスタンスを起動します。
FORCE
: 現行のOracleインスタンスをSHUTDOWN
ABORT
モードでシャットダウンしてから、再起動します。
RESTRICT
: RESTRICTED SESSION
システム権限を持つOracleユーザーにのみインスタンスへの接続を許可します。
PFILE
: データベース・インスタンスの起動時に使用するPFILE
初期化パラメータ・ファイルを指定します。
MOUNT
: 指定したデータベースをオープンせずにマウントします。
OPEN
: 指定したデータベースをマウントしてオープンします。
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
オプションと併用できません。
コマンドの例
次の例では、データベース・インスタンスの2つの起動方法を示します。各コマンドでは、標準パラメータ・ファイルを使用してデータベース・インスタンスを起動し、デフォルト・データベースを排他モードでマウントしてオープンしています。
DGMGRL> STARTUP; DGMGRL> STARTUP OPEN;
次のコマンドでは、現行のインスタンスをシャットダウンし、その直後にマウントもオープンもせずにデータベースを再起動し、制限付きセッション権限のあるユーザーにのみ接続を許可しています。
DGMGRL > STARTUP FORCE RESTRICT NOMOUNT;
次のコマンドでは、パラメータ・ファイルtestparm
を使用して、データベースをマウントせずにインスタンスを起動しています。
DGMGRL > STARTUP PFILE=testparm NOMOUNT;
次の例では、データベース・インスタンスを起動してマウントしていますが、オープンはしていません。
DGMGRL> STARTUP MOUNT;
ファスト・スタート・フェイルオーバーを停止します。
使用上の注意
このコマンドは、ブローカ構成内のいずれかのデータベースと接続されている場合に発行できます。
このコマンドではファスト・スタート・フェイルオーバーを無効化できませんが、ファスト・スタート・フェイルオーバーはオブザーバがないと開始できません。
このコマンドの発行時に、ファスト・スタート・フェイルオーバーが有効化されている必要はありません。
STOP OBSERVER
コマンドの発行時にファスト・スタート・フェイルオーバーが有効化されている場合は、プライマリ・データベースおよびスタンバイ・データベースが接続され、相互に交信している必要があります。そうでない場合は、次のエラーが戻されます。
ORA-16636 fast-start failover target standby in error state, cannot stop observer
プライマリ・データベースとスタンバイ・データベースが接続されていない場合、プライマリ・データベースでDISABLE FAST_START FAILOVER FORCE
コマンドを発行してからSTOP OBSERVER
コマンドを発行できます。オブザーバおよびターゲットのスタンバイ・データベースから切断されたプライマリ・データベース上でFORCE
オプションを指定してファスト・スタート・フェイルオーバーを無効化しても、オブザーバによる、ターゲットのスタンバイ・データベースへのファスト・スタート・フェイルオーバーの開始を無効にはできません。
STOP OBSERVER
コマンドの発行時にファスト・スタート・フェイルオーバーが有効化されていない場合は、オブザーバの停止時にプライマリ・データベースのみが実行されている必要があります。
オブザーバは、STOP OBSERVER
コマンドの発行後すぐには停止されません。オブザーバは、次回オブザーバーがブローカと接続されるまで停止されたことを検出しません。
STOP OBSERVER
コマンドの発行後ただちに、任意のコンピュータでSTART OBSERVER
コマンドを再度入力できます。旧オブザーバがまだ自身の停止を検出していない場合でも、新規オブザーバを即座に開始できます。ブローカ構成では新しいオブザーバがすでに開始されているため、元のオブザーバの開始を試行すると失敗します。
スイッチオーバー操作は、プライマリ・データベースがスタンバイ・データベースの1つとロールを交換する計画的な遷移です。SWITCHOVER
コマンドを発行すると、現行のプライマリ・データベースがスタンバイ・データベースになり、指定したスタンバイ・データベースがプライマリ・データベースになります。
使用上の注意
ファスト・スタート・フェイルオーバーが有効な場合は、ファスト・スタート・フェイルオーバーのターゲット・スタンバイ・データベースへのスイッチオーバーのみ実行できます。
スイッチオーバーの起動前に、ブローカによって、プライマリ・データベースおよびスタンバイ・データベースが次の状態であることが検証されます。
REDO転送サービスが起動するように、プライマリ・データベースが有効化され、TRANSPORT-ON
状態になっている必要があります。
スタンバイ・データベースが有効化され、TRANSPORT-ON
状態になっており、ログ適用サービスが起動している必要があります。
ブローカは、スイッチオーバーに関係するように選択したスタンバイ・データベースにREDO転送サービスのエラーがないかぎり、スイッチオーバーを続行します。その他のスタンバイ・データベースにエラーが発生しても、スイッチオーバーの続行には影響しません。
ロジカル・スタンバイ・データベースへのスイッチオーバーは、構成が最大保護モードで動作している場合には許可されません。
ブローカ構成が最大保護モードまたは最大可用性モードで動作している場合、スイッチオーバーの操作後も同じ保護モードが維持されます(5.3.1項を参照)。スイッチオーバーのターゲットとなるスタンバイ・データベースが保護モード要件を満たす唯一のスタンバイであったためにモードを維持できない場合、スイッチオーバーは許可されません。
プライマリ・ロールを引き継ぐスタンバイ・データベースがフィジカル・スタンバイ・データベースの場合は、スイッチオーバーの完了後に、元のプライマリ・データベースが再起動されます。スタンバイ・データベースがロジカル・スタンバイ・データベースの場合は、プライマリ・データベースもロジカル・スタンバイ・データベースも再起動されません。
プライマリ・ロールを引き継ぐスタンバイ・データベースがフィジカル・スタンバイ・データベースの場合、元のプライマリ・データベースはフィジカル・スタンバイ・データベースとなります。
プライマリ・ロールを引き継ぐスタンバイ・データベースがロジカル・スタンバイ・データベースの場合、元のプライマリ・データベースはロジカル・スタンバイ・データベースとなります。
Oracle RACプライマリ・データベースがフィジカル・スタンバイ・データベースになる場合、スイッチオーバーを実行する前に、プライマリ・データベース上のインスタンスのうち1つを残してそれ以外はすべては停止されます。詳細は、5.3項を参照してください。
スナップショット・スタンバイ・データベースにスイッチオーバーすることはできません。
プライマリ・ロールを引き継ぐスタンバイ・データベースがロジカル・スタンバイ・データベースで、構成にフィジカル・スタンバイ・データベースが含まれている場合、スイッチオーバー後、フィジカル・スタンバイ・データベースは無効化されます。
注意: このため、通常、スイッチオーバーには、ロジカル・スタンバイ・データベースのかわりにフィジカル・スタンバイ・データベースを指定することをお薦めします。ロジカル・スタンバイ・データベースへのスイッチオーバーが必要な場合、フィジカル・スタンバイ・データベースを再作成する方法については、5.4.3項を参照してください。比較的すぐに元のプライマリ・データベースにスイッチバックする場合は、フィジカルおよびスナップショット・スタンバイ・データベースを無効なままにしておくことができます。フィジカルおよびスナップショット・スタンバイ・データベースはまだ元のプライマリ・データベースの実行可能なスタンバイ・データベースであるため、元のプライマリ・データベースへのスイッチバックの完了後、これらを再有効化できます。 |
コマンドの例
次の例では、フィジカル・スタンバイ・データベースSouth_Sales
がプライマリ・ロールに遷移する正常なスイッチオーバーを示しています。
DGMGRL> switchover to 'South_Sales'; Performing switchover NOW, please wait... New primary database "South_Sales" is opening... Operation requires shutdown of instance "north_sales1" on database "North_Sales" Shutting down instance "north_sales1"... ORA-01109: database not open Database dismounted. ORACLE instance shut down. Operation requires startup of instance "north_sales1" on database "North_Sales" Starting instance "north_sales1"... ORACLE instance started. Database mounted. Switchover succeeded, new primary is "South_Sales"
オペレーティング・システム認証を使用してデータベースに接続する場合は、任意のユーザー名およびパスワードを使用して接続できます。ただし、DGMGRLはリモートでは自己認証できないため、プライマリ・データベースとスタンバイ・データベースを自動的にシャットダウンして起動することができません。
次に、スイッチオーバーには成功したが、DGMGRLでプライマリ・データベースとスタンバイ・データベースのシャットダウンおよび起動ができなかったためにエラーが戻された例を示します。
DGMGRL> SWITCHOVER TO 'South_Sales'; Performing switchover NOW, please wait... New primary database "South_Sales" is opening... Operation requires shutdown of instance "north_sales1" on database "North_Sales" Shutting down instance "north_sales1"... ORA-01031: insufficient privileges Warning: You are no longer connected to ORACLE. Please complete the following steps to finish switchover: shut down instance "north_sales1" of database "North_Sales" start up and mount instance "north_sales1" of database "North_Sales"
注意: DGMGRLでインスタンスを自動的に再起動するには、最後のCONNECT コマンドが別のデータベースへの接続に使用された場合でも、最後のCONNECT コマンドに指定された資格証明を使用してデータベースに接続する必要があります。 |
SHUTDOWNおよびSTARTUPコマンドを手動で発行して、新しいプライマリおよび停止されたスタンバイ・インスタンスを再起動する必要があります。