Oracle RAC環境でのクラシック・キャプチャの使用

次の一般的なガイドラインは、クラシック・キャプチャ・モードでExtractが実行される場合のOracle RACに適用されます。

  • 操作中になんらかの理由でOracle GoldenGateを実行しているプライマリ・データベース・インスタンスが停止または失敗すると、Extractが異常終了します。処理を再開するには、インスタンスを再開するか、Oracle GoldenGateのバイナリをデータベースを実行している別のノードにマウントしてOracle GoldenGateのプロセスを再開します。別のノードからOracle GoldenGateのプロセスを開始する前に、元のモードでManagerプロセスを停止します。

  • REDOスレッド数は常に変更されるため、Extractグループをドロップおよび再作成する必要があります。推奨される手順は、『Oracle GoldenGateの管理』を参照してください。

  • トランザクションの発生元のRACインスタンスに関係なく、Extractは必ずトランザクションをコミット順に証跡ファイルに書き込みます。1つ以上のRACインスタンスがアイドルの可能性がある状態でExtractがアーカイブ・ログのみモードでキャプチャする場合、アイドル・ノードでアーカイブ・ログ・スイッチを実行して、アクティブ・インスタンスの操作が証跡ファイルにタイムリに記録されるようにする必要があります。archive_lag_targetパラメータを設定して、事前に設定された間隔でこのログ・アーカイブを自動的に行うようOracle RDBMSに指定することができます。たとえば、ログが15分間隔でアーカイブされるようにするには、アクティビティに関係なく、RACシステムのすべてのインスタンスで次のコマンドを発行します。

    SQL> alter system set archive_lag_target 900
    
  • Extractを停止する前にRACクラスタで最後のトランザクションを処理するには、ダミー・レコードをOracle GoldenGateによってレプリケートされるソース表に挿入してから、すべてのノード上でログ・ファイルを切り替えます。これにより、Extractのチェックポイントが更新され、使用可能なすべてのアーカイブ・ログの読取りが可能であることが確認されます。さらに、それによってそれらのアーカイブ・ログのすべてのトランザクションがキャプチャされ、正しい順序で証跡に書き込まれることが確認されます。

次の表に、Oracle GoldenGateのパラメータの中で、Oracle RACで特に便利なパラメータを示します。

パラメータ 説明

INQUEUESIZEおよびOUTQUEUESIZEオプションを使用したTHREADOPTIONSパラメータ

ターゲット・システムに送信する前にExtractによってメモリーのキューに入れられるデータの量を設定します。これらのパラメータを調整することによって、Oracle RACでExtractのパフォーマンスを向上できる場合があります。

PURGEORPHANEDTRANSACTIONS | NOPURGEORPHANEDTRANSACTIONSおよびTRANSCLEANUPFREQUENCYオプションを使用したTRANLOGOPTIONSパラメータ

トランザクション時にノードが失敗してExtractでロールバックをキャプチャできない場合に発生する可能性がある親のないトランザクションを、Extractが処理する方法を制御します。データベースによってフェイルオーバー・ノードでロールバックが実行されますが、それ以外の場合、トランザクションはExtractトランザクション・リストに無限に残ったままになり、トランザクションを処理していたExtractスレッドに追加のチェックポイントが実行されません。デフォルトでは、トランザクションが親なしであると確認された後にOracle GoldenGateによってそのリストからそれらがパージされます。この機能は、GGSCIでのSEND EXTRACTコマンドを使用して必要に応じて制御することもできます。