Oracle Data Guardは、シングル・インスタンスとOracle Real Application Clusters(Oracle RAC)の複数インスタンス・データベースを自由に組み合せて構成することができます。この章ではOracle Data GuardをOracle RACデータベースと一緒に使用する場合の構成要件と考慮事項をまとめます。この章の内容は、次のとおりです。
スタンバイ・データベースを構成すると、Oracle RACを使用しているプライマリ・データベースを保護できます。次の表では、プライマリ・データベースとスタンバイ・データベースのインスタンスの可能な組合せについて説明します。
インスタンスの組合せ | 単一インスタンス・スタンバイ・データベース | 複数インスタンス・スタンバイ・データベース |
---|---|---|
単一インスタンス・プライマリ・データベース |
可 |
可 |
複数インスタンス・プライマリ・データベース |
可 |
可 |
それぞれの組合せでは、プライマリ・データベースの各インスタンスが、REDOデータをスタンバイ・データベースのインスタンスへ転送します。
図D-1 では、プライマリ・データベース・インスタンスが2つあるOracle RACデータベース(複数インスタンス・プライマリ・データベース)が、単一インスタンス・スタンバイ・データベースへREDOデータを転送しています。
この場合は、プライマリ・データベースのインスタンス1がローカル・アーカイブREDOログ・ファイル1、2、3、4、5にREDOデータをアーカイブし、スタンバイ・データベース宛先にREDOデータを転送するのに対し、インスタンス2がローカル・アーカイブREDOログ・ファイル32、33、34、35、36にREDOデータをアーカイブし、同じスタンバイ・データベース宛先にREDOデータを転送します。スタンバイ・データベースでは、アーカイブREDOログ・ファイルを適用する正しい順序が自動的に判断されます。
図D-1にはスタンバイREDOログは示されていませんが、プライマリの両方のインスタンスに対しスタンバイでスタンバイREDOログを構成することがベスト・プラクティスです(スタンバイREDOログの詳細は、スタンバイREDOログの管理を参照してください)。インスタンス1およびインスタンス2にあるプライマリ・オンラインREDOログ・ファイルからのREDOは、まずインスタンス1およびインスタンス2のスタンバイREDOログでそれぞれ受信され、次にアーカイブされます。
Oracle RAC環境でのプライマリ・データベースの構成方法
スタンバイ・データベースを作成する前に、プライマリ・データベースが正しく構成されていることを確認する必要があります。これを行うには、いくつかの準備手順を実行する必要があり、それによりデータベースは、1つ以上のスタンバイ・データベースに対するプライマリ・データベースとして機能する準備が整います。
各プライマリ・インスタンスを構成するには、「フィジカル・スタンバイ・データベースの作成」(フィジカル・スタンバイ・データベース作成の場合)、または「ロジカル・スタンバイ・データベースの作成」(ロジカル・スタンバイ・データベース作成の場合)の説明に従ってください。
単一インスタンス・スタンバイ・データベースの構成方法
アーカイブREDOログ・ファイルおよびスタンバイREDOログ・ファイルの場所を指定するには、「フィジカル・スタンバイ・データベースの作成」(フィジカル・スタンバイ・データベース作成の場合)、または「ロジカル・スタンバイ・データベースの作成」(ロジカル・スタンバイ・データベース作成の場合)の説明に従ってLOG_ARCHIVE_DEST_
n
パラメータおよびLOG_ARCHIVE_FORMAT
パラメータを定義してください。
この項では、Oracle RACスタンバイ・データベースにREDOデータを送信するようにOracle RACプライマリ・データベースを構成する方法について説明します。
次の手順を実行して、プライマリ・データベースからREDOデータを受信するようにOracle RACスタンバイ・データベースを構成します。
REDOデータをOracle RACスタンバイ・データベースに送信するように、Oracle RACプライマリ・データベースの各インスタンスを構成します。REDOデータを別のデータベースに送信するようにOracleデータベース・インスタンスを構成する方法は、「REDOデータを送信するためのOracleデータベースの構成」を参照してください。
REDOデータをOracle RACスタンバイ・データベースに送信するようにOracle RACプライマリ・データベースを構成する際には、次のベスト・プラクティスをお薦めします。
各プライマリ・データベース・インスタンスで同じLOG_ARCHIVE_DEST_n
パラメータを使用して、REDOデータを特定のスタンバイ・データベースに送信する。
特定のスタンバイ・データベースに対応する各LOG_ARCHIVE_DEST_n
パラメータのSERVICE
属性を同じネット・サービス名に設定する。
ネット・サービス名は、アドレス・リストを含むOracle Net接続記述子に解決する必要があり、そのアドレス・リストには、各スタンバイ・データベース・インスタンスの接続データが含まれる必要がある。
この項では、Oracle RAC環境に固有のOracle Data Guard構成情報を示します。この付録には、次の項があります。
アーカイブREDOログ・ファイル名は、log_%parameterの形式になります。%parameterには、表D-1のパラメータを1つ以上含めることができます。
表D-1 LOG_ARCHIVE_FORMAT初期化パラメータのディレクティブ
ディレクティブ | 説明 |
---|---|
|
データベース・アクティブID |
|
0(ゼロ)を埋め込んだデータベース・アクティブID |
|
データベースID |
|
0(ゼロ)を埋め込んだデータベースID |
|
インスタンス・スレッド番号 |
|
0(ゼロ)を埋め込んだインスタンス・スレッド番号 |
|
ログ・ファイル順序番号 |
|
0(ゼロ)を埋め込んだログ・ファイル順序番号 |
|
リセットログID |
|
0(ゼロ)を埋め込んだリセットログID |
次に例を示します。
LOG_ARCHIVE_FORMAT = log%d_%t_%s_%r.arc
Oracle RACが、LOG_ARCHIVE_FORMAT
パラメータでアーカイブREDOログ・ファイルを一意に識別するためには、スレッド・パラメータ%tまたは%Tが必須です。
Oracle RACプライマリ・データベースのいずれかのインスタンスでスタンバイ・データベースとの接続性が失われた場合、他のすべてのプライマリ・データベース・インスタンスでは、LOG_ARCHIVE_DEST_
n
REOPEN
属性で指定された秒数の間、スタンバイ・データベースへのREDO送信を停止し、その後すべてのプライマリ・データベース・インスタンスでスタンバイ・データベースへの再接続が試みられます。
次に、Oracle RAC環境における保護モードの動作を説明します。
最大保護の構成
接続を失った宛先が最後のSYNC
宛先の場合、インスタンスは接続を失い、停止します。Oracle RAC構成内でスタンバイ宛先への接続を維持しているインスタンスは、接続を失ったインスタンスをリカバリし、スタンバイ宛先へのREDO送信を継続します。Oracle RAC構成内のすべてのインスタンスが最後のスタンバイ宛先への接続を失った場合にのみ、プライマリ・データベースが停止します。
最大可用性構成と最大パフォーマンス構成
Oracle RAC構成内でスタンバイ宛先への接続を維持しているインスタンスは、接続を失ったインスタンスをリカバリし、スタンバイ宛先へのREDO送信を継続します。Oracle RAC構成内のすべてのインスタンスがスタンバイ宛先への接続を失うと、プライマリ・データベースは最大パフォーマンス・モードで操作を続行します。最大パフォーマンス・モードでは、スタンバイ全体の障害時を除き、データ消失が最小限に抑えられます。
最大可用性保護モードは、特定の二重障害の場合(すべてのスタンバイ・データベースに障害が発生した後にプライマリ・データベースの障害が発生した場合など)を除いて、データ消失がないことを保証します。