Data Guardには、最大保護、最大可用性および最大パフォーマンスという3つのデータ保護
モードが用意されています。選択したデータ保護レベルにより、プライマリ・データベースか らスタンバイ・データベースへの接続が失われた場合の動作が制御されます。この項は、次の 項目で構成されています。
■ データ保護モードの選択
■ Data Guard構成のデータ保護モードの設定
5.6.1 データ保護モードの選択 データ保護モードの選択 データ保護モードの選択 データ保護モードの選択
適切なデータ保護モードを判断するには、次のデータ保護モードの説明を参考にして、データ 可用性に対するビジネス要件を応答時間とパフォーマンスに対するユーザーのニーズに基づい て査定します。また、データ保護モードの設定方法については、5.6.2項を参照してください。
5.6.1.1 最大保護モード 最大保護モード 最大保護モード 最大保護モード
この保護モードは、プライマリ・データベースに障害が発生した場合にも、データ消失がない ことを保証します。このレベルの保護を提供するには、トランザクションがコミットされる前 に、各トランザクションをリカバリするために必要なREDOデータを、少なくとも1つのスタ ンバイ・データベース上のローカル・オンラインREDOログおよびスタンバイREDOログに 書き込む必要があります。障害によって少なくとも1つのリモート・スタンバイREDOログに REDOストリームを書込みできない場合、データ消失が発生しないようにプライマリ・データ ベースが停止します。複数インスタンスRACデータベースでは、Data Guardは正しく構成さ れた少なくとも1つのデータベース・インスタンスにREDOレコードを書き込めない場合に、
プライマリ・データベースを停止します。最大保護モードでは、少なくとも1つのスタンバイ・
インスタンスにスタンバイREDOログがあり、この宛先についてLOG_ARCHIVE_DEST_nパラ メータにLGWR、SYNCおよびAFFIRM属性が使用されている必要があります。
5.6.1.2 最大可用性モード 最大可用性モード 最大可用性モード 最大可用性モード
この保護モードは、プライマリ・データベースの可用性を低下させない範囲で可能な最高レベ ルのデータ保護を提供します。最大保護モードと同様に、トランザクションは、そのトランザ クションのリカバリに必要なREDOが、ローカルのオンラインREDOログおよび少なくとも1 つのリモート・スタンバイREDOログに書き込まれるまでコミットされません。障害によって リモート・スタンバイREDOログにREDOストリームを書込みできない場合、最大保護モー ドとは異なり、プライマリ・データベースは停止しません。かわりに、障害が解決され、
REDOログ・ファイルのすべてのギャップが解決されるまで、プライマリ・データベースは最 大パフォーマンス・モードで動作します。すべてのギャップが解決されると、プライマリ・
データベースは、最大可用性モードでの動作を自動的に再開します。
このモードでは、プライマリ・データベースに障害が発生した場合、ただし、2回目の障害で プライマリ・データベースから少なくとも1つのスタンバイ・データベースにREDOデータの 完全なセットが送信される場合にのみ、データが消失しないことを保証します。
最大保護モードと同様に、最大可用性モードには次の要件があります。
■ 1つ以上のスタンバイ・データベースでスタンバイREDOログ・ファイルを構成します。
■ 1つ以上のスタンバイ・データベースについて、LOG_ARCHIVE_DEST_nパラメータの SYNC、LGWRおよびAFFIRM属性を設定します。
5.6.1.3 最大パフォーマンス・モード 最大パフォーマンス・モード 最大パフォーマンス・モード 最大パフォーマンス・モード
この保護モード(デフォルト)は、プライマリ・データベースのパフォーマンスに影響しない 範囲で可能な最高レベルのデータ保護を提供します。これは、トランザクションのリカバリに 必要なREDOデータがローカルのオンラインREDOログに書き込まれた直後に、そのトラン ザクションのコミットを許可することで実行されます。プライマリ・データベースのREDO データ・ストリームは、少なくとも1つのスタンバイ・データベースにも書き込まれますが、
そのREDOストリームは、REDOデータを作成するトランザクションのコミットメントについ て非同期で書き込まれます。
データ保護モードの設定
REDO転送サービス 5-21 十分な帯域幅を持つネットワーク・リンクが使用される場合、このモードは、プライマリ・
データベースのパフォーマンスに対する影響を最小限にして、最大可用性モードのレベルに近 いデータ保護レベルを提供します。
最大パフォーマンス・モードでは、スタンバイ・データベースの宛先について、LOG_
ARCHIVE_DEST_nパラメータのLGWRおよびASYNC属性を設定するか、またはARCH属性を 設定できます。LGWRおよびASYNC属性を設定すると、プライマリ・データベースに障害が発 生した場合に、スタンバイ宛先で受信されないデータの量を減少させることができます。
5.6.2 Data Guard 構成のデータ保護モードの設定 構成のデータ保護モードの設定 構成のデータ保護モードの設定 構成のデータ保護モードの設定
REDO転送サービスを設定してData Guard構成のデータ保護レベルを指定する手順は、次の とおりです。
手順 手順 手順
手順 1 プライマリ・データベースでプライマリ・データベースでプライマリ・データベースでプライマリ・データベースでLOG_ARCHIVE_DEST_nパラメータを構成するパラメータを構成するパラメータを構成するパラメータを構成する
プライマリ・データベースで、LOG_ARCHIVE_DEST_nパラメータの属性を適切に構成します。
Data Guardの各データ保護モードでは、構成内の少なくとも1つのスタンバイ・データベース
が表5-2に記載された一連の最低要件を満たしている必要があります。
次の例に、最大可用性モードの構成方法を示します。
SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=chicago 2> OPTIONAL LGWR SYNC AFFIRM
3> VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) 4> DB_UNIQUE_NAME=chicago';
まだSPFILEで指定されていない場合は、DB_UNIQUE_NAME初期化パラメータを使用して一意
の名前も指定し、LOG_ARCHIVE_CONFIGパラメータのDG_CONFIG属性ですべてのデータ ベースをリストする必要があります。次に例を示します。
SQL> ALTER SYSTEM SET LOG_ARCHIVE_CONFIG='DG_CONFIG=(chicago,boston)'
これにより、Data Guard構成内でReal Application Clustersプライマリ・データベースが最大 保護モードまたは最大可用性モードで稼働している場合、このData Guard構成にスタンバイ・
データベースを動的に追加できます。
表 表 表
表 5-2 データ保護モードの最低要件データ保護モードの最低要件データ保護モードの最低要件データ保護モードの最低要件 最大保護 最大保護 最大保護
最大保護 最大可用性最大可用性最大可用性最大可用性 最大パフォーマンス最大パフォーマンス最大パフォーマンス最大パフォーマンス REDOアーカイブ・プロセス LGWR LGWR LGWRまたはARCH ネットワーク転送モード SYNC SYNC LGWRプロセスを使用する
場合はSYNCまたは ASYNC。ARCHプロセスを 使用する場合はSYNC。
ディスク書込みオプション AFFIRM AFFIRM AFFIRMまたはNOAFFIRM
スタンバイREDOログの必要性 可 可 不要、ただし推奨。
注意注意
注意注意: 最大保護モードで実行するData Guard構成には、表5-2に記載さ れた要件を満たす少なくとも2つのスタンバイ・データベースを含めるこ とをお薦めします。これによって、1つのスタンバイ・データベースがプ ライマリ・データベースからREDOデータを受信できない場合でも、プ ライマリ・データベースは処理を継続できます。
データ保護モードの設定
手順手順
手順手順 1 保護モードをアップグレードする場合は次の手順を実行する保護モードをアップグレードする場合は次の手順を実行する保護モードをアップグレードする場合は次の手順を実行する保護モードをアップグレードする場合は次の手順を実行する
この手順を実行するのは、保護モードを(たとえば、最大パフォーマンス・モードから最大可 用性モードなどのように)アップグレードする場合のみです。それ以外の場合は、手順3に進 みます。
この例では、Data Guard構成を最大パフォーマンス・モードから最大可用性モードにアップグ レードすると仮定します。プライマリ・データベースを停止し、マウント済モードで再起動し ます。
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;
Real Application Clustersデータベースの場合は、すべてのプライマリ・インスタンスを停止
し、その中の1つのみを起動してマウントします。
手順 手順 手順
手順 2 データ保護モードを設定するデータ保護モードを設定するデータ保護モードを設定するデータ保護モードを設定する
データ保護モードを指定するには、プライマリ・データベースでSQL ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE {PROTECTION | AVAILABILITY | PERFORMANCE}
文を発行します。たとえば、次の文は最大可用性モードを指定します。
SQL> ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE AVAILABILITY;
手順 手順 手順
手順 3 プライマリ・データベースをオープンするプライマリ・データベースをオープンするプライマリ・データベースをオープンするプライマリ・データベースをオープンする
手順1で保護モードをアップグレードした場合は、データベースをオープンします。
SQL> ALTER DATABASE OPEN;
保護モードをダウングレードしている場合、データベースはすでにオープンしています。
手順 手順 手順
手順 4 スタンバイ・データベースでスタンバイ・データベースでスタンバイ・データベースでスタンバイ・データベースでLOG_ARCHIVE_DEST_nパラメータを構成するパラメータを構成するパラメータを構成するパラメータを構成する スタンバイ・データベースで、スイッチオーバー後も構成が新しい保護モードで操作を継続で きるように、LOG_ARCHIVE_DEST_nパラメータ属性を構成します。
次に例を示します。
SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=boston 2> OPTIONAL LGWR SYNC AFFIRM
3> VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) 4> DB_UNIQUE_NAME=boston';
手順手順
手順手順 5 構成が新しい保護モードで動作していることを確認する構成が新しい保護モードで動作していることを確認する構成が新しい保護モードで動作していることを確認する構成が新しい保護モードで動作していることを確認する
V$DATABASEビューを問い合せ、Data Guard構成が新しい保護モードで動作していることを 確認します。次に例を示します。
SQL> SELECT PROTECTION_MODE, PROTECTION_LEVEL FROM V$DATABASE;
PROTECTION_MODE PROTECTION_LEVEL ---MAXIMUM AVAILABILITY ---MAXIMUM AVAILABILITY
SQL文については、第15章および『Oracle Database SQLリファレンス』を参照してくださ い。