ヘッダーをスキップ
Oracle® Streams概要および管理
11gリリース2 (11.2)
B61351-03
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

12 取得と適用の複合による最適化

次の各項では、取得と適用の複合による最適化について説明します。

取得と適用の複合による最適化について

効率を向上させるために、取得プロセスでは、特定の条件下で伝播受信者に論理変更レコード(LCR)を直接送信する伝播送信者を作成できます。LCRは、伝播受信者によって宛先キューバッファ・キューにエンキューされた後、適用プロセスによってデキューされます。このような最適化は、取得と適用の複合と呼ばれます。

取得と適用の複合の要件

取得と適用の複合は、取得プロセスおよび適用プロセスが同じデータベース・インスタンスまたは異なるデータベースで実行される場合に使用できます。

取得プロセスと適用プロセスが同じデータベース・インスタンスで実行されるときは、次の条件がすべて満たされている場合にのみ、取得と適用の複合を使用できます。

  • 取得プロセスと適用プロセスで同じキューを使用する必要があります。

  • キューに単一のパブリッシャがあり、それが取得プロセスである必要があります。

取得プロセスと適用プロセスが異なるデータベースまたは同じデータベースの異なるインスタンスで実行されるときは、次の条件がすべて満たされている場合にのみ、取得と適用の複合を使用できます。

  • 取得プロセス・キューに単一のパブリッシャがあり、それが取得プロセスである必要があります。

  • 取得プロセス・キューと適用プロセス・キューの間で伝播が構成されている必要があります。中間キューは必要ありません(有向ネットワークなし)。

  • 同じソース・データベースからの変更を適用する各適用プロセスは、それぞれ異なるキューを使用する必要があります。


注意:

  • 同期取得では、取得と適用の複合を使用できません。

  • Oracle Database 10g以下のデータベースが構成に含まれる場合、取得と適用の複合は使用できません。

  • 取得と適用の複合の要件は、Oracle Database 11g リリース2(11.2)とOracle Database 11g リリース1(11.1)とで異なります。取得と適用の複合による最適化でのデータベースが11.1データベースの場合は、11.1の要件が満たされている必要があります。これらの要件の詳細は、11.1リリース用の『Oracle Streams概要および管理』を参照してください。


取得と適用の複合の使用方法

取得と適用の複合の要件を満たした後は、取得と適用の複合を使用するために他の構成タスクを実行する必要はありません。取得プロセスが開始されると、取得と適用の複合が使用可能であることが自動的に検出されます。伝播受信者との接続を確立する伝播送信者が作成された後、伝播送信者から伝播受信者に取得LCRが直接送信されます。

取得と適用の複合が使用されていて、構成を変更したために構成が取得と適用の複合の要件を満たさなくなった場合は、取得プロセスによってこの変更が検出され、取得プロセスが再起動します。取得プロセスの再起動後、取得と適用の複合は使用されません。

取得と適用の複合が使用されておらず、構成を変更したために構成が取得と適用の複合の要件を満たすようになった場合は、取得プロセスが再起動したときに、取得と適用の複合が自動的に使用されます。この場合、取得プロセスを手動で再起動する必要があります。自動的には再起動されません。

取得と適用の複合が使用されているかどうかの判断方法

取得と適用の複合が使用されているかどうかを判断するには、次の動的パフォーマンス・ビューを確認します。

  • 取得プロセスの場合は、V$STREAMS_CAPTUREビューでOPTIMIZATION列が0より大きい場合に取得と適用の複合が使用されます。

  • 適用プロセスの場合は、V$STREAMS_APPLY_READERビューでPROXY_SID列がNULLでない場合に取得と適用の複合が使用されます。


関連項目:


取得と適用の複合およびPoint-in-Timeリカバリ

単一ソース・レプリケーション環境で取得と適用の複合を使用すると、Oracle Streamsクライアントによって宛先データベースのPoint-in-Timeリカバリが自動的に処理されます。Oracle Streamsクライアントには、取得と適用の複合による最適化を構成する取得プロセス、伝播および適用プロセスが含まれます。

取得と適用の複合を使用する単一ソース・レプリケーション環境では、次の一般的な手順を使用して、宛先データベースでPoint-in-Timeリカバリを実行します。

  1. 取得プロセスと適用プロセスを停止し、伝播を無効にします。

  2. 宛先データベースでPoint-in-Timeリカバリを実行します。

  3. 取得プロセスが、以前の時点のアーカイブREDOログ・ファイルにアクセスできることを確認します。

  4. 適用プロセスを起動します。

  5. 伝播を有効にします。

  6. 取得プロセスを起動します。

これらの手順を実行すると、取得プロセスによってその開始SCNが自動的に決定されるため、その他の手順は必要ありません。


関連項目:

Oracle Streamsレプリケーション環境におけるPoint-in-Timeリカバリの実行の詳細は、『Oracle Streamsレプリケーション管理者ガイド』を参照