ヘッダーをスキップ

Oracle Data Guard 概要および管理
11gリリース1(11.1)

E05755-03
目次
目次
索引
索引

戻る 次へ

5 Data Guardの保護モード

この章は、次の項目で構成されています。

5.1 Data Guardの保護モード

この項では、Data Guardの保護モードについて説明します。

ここでの説明では、同期化されたスタンバイ・データベースは、構成されたデータ保護モードの最低要件を満たし、REDOギャップがないデータベースとして作成されています。REDOギャップの詳細は、6.3.3項を参照してください。

最大可用性

この保護モードは、プライマリ・データベースの可用性を低下させない範囲で可能な最高レベルのデータ保護を提供します。トランザクションは、そのトランザクションのリカバリに必要なすべてのREDOデータが、オンラインREDOログおよび少なくとも1つの同期化されたスタンバイ・データベースに書き込まれるまでコミットされません。プライマリ・データベースは、REDOストリームを少なくとも1つの同期化されたスタンバイ・データベースに書き込むことができない場合、REDOストリームを同期化されたスタンバイ・データベースに再び書き込めるようになるまで、最大パフォーマンス・モードにあるかのように動作してプライマリ・データベースの可用性を維持します。

このモードでは、プライマリ・データベースに障害が発生した場合、ただし、2回目の障害でプライマリ・データベースから少なくとも1つのスタンバイ・データベースにREDOデータの完全なセットが送信される場合にのみ、データが消失しないことを保証します。

最大パフォーマンス

この保護モードは、プライマリ・データベースのパフォーマンスに影響しない範囲で可能な最高レベルのデータ保護を提供します。これは、トランザクションによって生成されたすべてのREDOデータがオンライン・ログに書き込まれた直後に、そのトランザクションのコミットを可能にすることで実現されます。REDOデータは、1つ以上のスタンバイ・データベースにも書き込まれますが、トランザクション・コミットについて非同期で行われるため、プライマリ・データベースのパフォーマンスは、スタンバイ・データベースへのREDOデータの書込み遅延による影響を受けません。

この保護モードは、最大可用性モードに比べてデータ保護が若干弱く、プライマリ・データベースのパフォーマンスへの影響を最小限に抑えます。

これはデフォルトの保護モードです。

最大保護

この保護モードは、プライマリ・データベースに障害が発生した場合でも、データ消失がないことを保証します。このレベルの保護を提供するには、トランザクションがコミットされる前に、トランザクションのリカバリに必要なREDOデータを、オンラインREDOログおよび少なくとも1つの同期化されたスタンバイ・データベースに書き込む必要があります。少なくとも1つの同期化されたスタンバイ・データベースにREDOストリームを書き込むことができない場合は、データ消失が発生しないように、プライマリ・データベースは停止し、トランザクションの処理を続行しません。

このデータ保護モードは、プライマリ・データベースの可用性よりもデータ保護を優先するため、2つ以上のスタンバイ・データベースを使用して、最大保護モードで稼働するプライマリ・データベースを保護し、1つのスタンバイ・データベースの障害が原因でプライマリ・データベースが停止しないようにします。

5.2 プライマリ・データベースのデータ保護モードの設定

次の手順を実行して、プライマリ・データベースのデータ保護モードを変更します。

手順1    可用性、パフォーマンスおよびデータ保護の要件を満たすデータ保護モードを選択する

選択可能なモードの詳細は、5.1項を参照してください。

手順2    1つ以上のスタンバイ・データベースでREDO転送が構成されていることを確認する

スタンバイ・データベースに対応するLOG_ARCHIVE_DEST_nデータベース初期化パラメータの値に、移行後のデータ保護モードに対するREDO転送の属性(表5-1を参照)が指定されている必要があります。

プライマリ・データベースに複数のスタンバイ・データベースがある場合、表5-1に示すREDO転送の設定を使用する必要があるのは、それらのスタンバイ・データベースの中の1つのみです。

また、スタンバイ・データベースにはスタンバイREDOログが必要です。

REDO転送およびスタンバイREODログの構成の詳細は、第6章「REDO転送サービス」を参照してください。

表5-1    データ保護モードに対するREDO転送の必須属性 
最大可用性  最大パフォーマンス  最大保護 

AFFIRM 

NOAFFIRM 

AFFIRM 

SYNC 

ASYNC 

SYNC 

DB_UNIQUE_NAME 

DB_UNIQUE_NAME 

DB_UNIQUE_NAME 

手順3    プライマリ・データベースおよびスタンバイ・データベースでDB_UNIQUE_NAMEデータベース初期化パラメータが一意の名前に設定されていることを確認する

たとえば、いずれのデータベースにもDB_UNIQUE_NAMEパラメータが定義されていない場合、次のSQL文を使用して各データベースに一意の名前を割り当てることができます。

次のSQL文はプライマリ・データベースで実行します。

SQL> ALTER SYSTEM SET DB_UNIQUE_NAME='CHICAGO' SCOPE=SPFILE;

次のSQL文はスタンバイ・データベースで実行します。

SQL> ALTER SYSTEM SET DB_UNIQUE_NAME='BOSTON' SCOPE=SPFILE;
手順4    LOG_ARCHIVE_CONFIGデータベース初期化パラメータがプライマリ・データベースおよびスタンバイ・データベースに定義されていて、プライマリ・データベースおよびスタンバイ・データベースのDB_UNIQUE_NAMEを含むDG_CONFIGリストが、その値に指定されていることを確認する

たとえば、いずれのデータベースにもLOG_ARCHIVE_CONFIGパラメータが定義されていない場合、次のSQL文を各データベースで実行してLOG_ARCHIVE_CONFIGパラメータを構成できます。

SQL> ALTER SYSTEM SET
  2> LOG_ARCHIVE_CONFIG='DG_CONFIG=(CHICAGO,BOSTON)';
手順5    保護モードを最大保護に設定する、または最大パフォーマンスから最大可用性に変更する場合は、プライマリ・データベースを停止し、マウント済モードで再起動する。プライマリ・データベースがOracle Real Application Clustersである場合は、すべてのインスタンスを停止し、1つのインスタンスのみを起動およびマウントする

次に例を示します。

SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;
手順6    データ保護モードを設定する

次のSQL文はプライマリ・データベースで実行します。

SQL> ALTER DATABASE 
  2> SET STANDBY DATABASE TO MAXIMIZE {AVAILABILITY | PERFORMANCE | PROTECTION};

プライマリ・データベースがOracle Real Application Clustersである場合は、この時点で手順5で停止したインスタンスを再起動できます。

手順7    プライマリ・データベースをオープンする

手順5  でデータベースを再起動した場合は、データベースをオープンします。

SQL> ALTER DATABASE OPEN;
手順8    プライマリ・データベースが新しい保護モードで動作していることを確認する

次の問合せをプライマリ・データベースで実行し、新しい保護モードで動作していることを確認します。

SQL> SELECT PROTECTION_MODE FROM V$DATABASE;

戻る 次へ
Oracle
Copyright © 1999, 2008 Oracle Corporation.

All Rights Reserved.
目次
目次
索引
索引