REDOルーティング・ルール

RedoRoutesプロパティは、1つ以上のREDOルーティング・ルールを含む文字列に設定されます。

各ルールは、次のようにカッコ内に入れます。

(redo_routing_rule_1) [(redo_routing_rule_n)]

redo routing ruleには、redo sourceフィールドとredo destinationフィールドが含まれ、それらは次のようにコロンで区切られます。

(redo source : redo destination)

redo sourceフィールドには、次のように、キーワードLOCALANY、またはDB_UNIQUE_NAME値のカンマ区切りリストが含まれる必要があります。

{LOCAL | ANY | db_unique_name_1,[,db_unique_name_n]}
  • キーワードLOCALは、ローカル・データベース名の別名です。このキーワードは、遠隔同期インスタンスでは使用できません。

  • ANYキーワードは、構成内の任意のデータベースの別名です。

  • 1つのデータベースは、明示的にも、暗黙的(LOCALキーワードを使用)にも、指定されたデータベースで定義されている複数のREDOルーティング・ルールにおけるREDOソースとして指定することはできません。

redo destinationフィールドには、キーワードALL、またはREDO転送グループのカンマ区切りリストが含まれる必要があり、それぞれ宛先データベースと優先度属性(オプション)およびREDO転送モード属性(オプション)で構成されます。

{ALL [xpt_mode] | redo_dest_group_1 [, redo_dest_group_n]}
  • ALLキーワードは、構成において可能なすべての接続先の別名です。

  • redo_dest_group_nは次のようにします。

    { db_unique_name_1 [xpt_mode] | ( db_unique_name_1 [xpt_mode] [PRIORITY=n] [,db_unique_name_n [xpt_mode] [PRIORITY=n]] ) }

    オプションのxpt_modeは、REDOを関連の接続先に送信するために使用されるREDO転送モードを指定します。指定可能な値は、3つの値(ASYNCSYNCまたはFASTSYNC)のいずれかです。REDO転送属性を指定しない場合、使用される転送モードは、そのREDO接続先のLogXptModeプロパティで指定されたものになります。

    オプションの[PRIORITY=n]では、nに1から8を指定できます。遠隔同期メンバーのデフォルト値は1で、非遠隔同期メンバーのデフォルト値は8です。グループおよび優先度の設定が異なると、様々な条件下でREDO転送がどのような影響を受けるか理解しておく必要があります。次の例では、いくつかの状況について説明します。

例1: グループ内の優先度が異なる場合

ブローカ構成内に次の3つのメンバーが存在すると仮定します。
  • PRI (プライマリ・データベース)
  • SB1 (スタンバイ・データベース)
  • FS1 (遠隔同期インスタンス)
プライマリ・データベースPRIが、スタンバイ・データベースSB1で使用するREDOログを生成します。遠隔同期インスタンスFS1が存在するため、スタンバイ・データベースへのREDO転送パスには2つの可能性が考えられます。
  • (パス1) PRI —> FS1 —> SB1
  • (パス2) PRI —> SB1
(パス1)の方が(パス2)よりも望ましいと仮定します。この場合は、次のようにRedoRoutesプロパティを使用して表現できます。
  • PRIRedoRoutes = (local : ( FS1 PRIORITY=1, SB1 PRIORITY=2 ) )
  • FS1RedoRoutes = ( PRI : SB1 )

PRIRedoRoutesプロパティで指定したように、プライマリ(PRI)には2つの宛先(PRIORITY=1FS1PRIORITY=2SB1)が設定されています。優先度の数字が小さいほど優先度が高くなるため、プライマリPRIは、まずFS1にREDOログを送信しようとします。

FS1が使用できる場合、プライマリはPRIORITY=1が設定されているFS1に送信します。FS1が使用できない場合、プライマリはPRIORITY=2が設定されているSB1に送信します。FS1が再度アクティブになると、PRIORITY 1はPRIORITY 2よりも優先度が高いので、プライマリはまたFS1に送信するようになります。

例2: グループ内の優先度が同じ場合

例1で設定した構成に、もう1つの遠隔同期インスタンスFS2を追加して、RedoRoutesプロパティを次のように更新すると仮定します。
  • PRIRedoRoutes = (local : ( FS1 PRIORITY=1, FS2 PRIORITY=1 ) )
  • FS1RedoRoutes = ( PRI : SB1 )
  • FS2RedoRoutes = ( PRI : SB1 )

現在、プライマリPRIには、同じ優先度の2つの宛先(FS1FS2)が設定されています。プライマリはFS1またはFS2のいずれかを選択する必要があります。プライマリがFS1を選択すると仮定します。

FS1が使用できる場合、プライマリはFS1に送信します。FS1が使用できない場合、プライマリはFS2に送信します。FS1が再度アクティブになった後も、FS1FS2の優先度が同じであるため、プライマリは引き続きFS2に送信します。FS2に障害が発生すると、プライマリはFS1に送信します。

例3: 複数グループ

この構成に、もう1つのスタンバイSB2を追加してから、RedoRoutesプロパティを次のように更新して、プライマリに2つの宛先グループを設定すると仮定します。
  • PRIRedoRoutes = (local : ( FS1 PRIORITY=1, SB1 PRIORITY=2 ), ( FS2 PRIORITY=1, SB2 PRIORITY=2 ) )
  • FS1RedoRoutes = ( PRI : SB1 )
  • FS2RedoRoutes = ( PRI : SB2 )

一般的なルールとして、REDOのアクティブ・パスは各グループに1つです。(REDOのアクティブ・パスが複数ある場合の使用例は、例4を参照してください。) プライマリは、1番目のグループ( FS1 PRIORITY=1, SB1 PRIORITY=2 )に対して1つのREDO転送パスを、2番目のグループ( FS2 PRIORITY=1, SB2 PRIORITY=2 )に対して別のREDO転送パスを確立します。

  • FS1FS2の両方が使用できる場合、プライマリはFS1FS2に送信します。

  • FS1は使用できないがFS2は使用できる場合、プライマリはSB1FS2に送信します。

  • FS1は使用できるがFS2は使用できない場合、プライマリはFS1SB2に送信します。

  • FS1FS2の両方とも使用できない場合、プライマリはSB1SB2に送信します。

例4: PRIORITY属性が8に設定されている場合

設定PRIORITY=8には特別な意味があります。PRIORITY=8が設定されている宛先にREDOを送信する場合、プライマリはすべてのPRIORITY=8宛先に送信する必要があります。RedoRoutesプロパティを次のように更新して、3つの宛先が含まれる1つのグループをプライマリに設定すると仮定します。
  • PRIRedoRoutes = (local : ( FS1 PRIORITY=1, SB1 PRIORITY=8, SB2 PRIORITY=8 ) )
  • FS1RedoRoutes = ( PRI : SB1, SB2 )

このように設定すると、動作は次のようになります。

  • FS1が使用できる場合、プライマリはFS1に送信します。

  • FS1が使用できない場合、SB1SB2のどちらにもPRIORITY=8が設定されているため、プライマリはこの両方に送信します

  • FS1が再度アクティブになると、プライマリはFS1に送信します。

高度なREDO転送設定の使用上のノート

次の使用上のノートが、高度なREDO転送設定について適用されます:

  • RedoRoutesプロパティのデフォルト値はNULLです。プライマリ・データベースは、(LOCAL : ALL)として扱われます。

  • REDOルーティング・ルールがアクティブになるのは、そのREDOソース・フィールドで現在のプライマリ・データベースが指定されている場合です。ルールがアクティブになっている場合、プライマリ・データベースのREDOは、ルールが定義されているデータベースによって、そのルールのREDO接続先フィールドで指定されている各接続先に送信されます。

  • カスケード接続先で、その接続先へのリアルタイム・カスケーディングを有効にするには、ASYNCREDO転送属性を明示的に指定する必要があります。

  • RedoRoutesプロパティでは、フィジカル・スタンバイ・データベースがスナップショット・スタンバイに変換された場合に、スナップショット・スタンバイがREDOデータを別のメンバーに送信するように構成できません。

  • ロジカル・スタンバイ・データベースにRedoRoutesプロパティを設定できるのは、REDOソース・フィールドがLOCALに設定されている場合のみです。