主コンテンツへ
Oracle® Fusion Middleware Oracle GoldenGateリファレンスfor Windows and UNIX
12c (12.2.0.1)
E70112-04
目次へ移動
目次

前
次

6.3 EXIT_CALL_TYPEの使用

EXIT_CALL_TYPEでは、処理中にいつExtractまたはReplicatプロセス(コール元)がユーザー・イグジット・ルーチンをコールするかを指定します。プロセスは、次のコールを使用してルーチンをコールできます。


表6-1 ユーザー・イグジット・コール

コール・タイプ 処理ポイント

EXIT_CALL_ABORT_TRANS

RECOVERYOPTIONSモードがAPPEND (デフォルト)の場合に有効です。データ・ポンプまたはReplicatがトレイルからRESTART ABENDレコードを読み取る際にコールされ、異常終了したライター・プロセスによってそこに配置されます。(ライター・プロセスは、データ・ポンプにより読み取られたローカル・トレイルに書き込むプライマリExtract、またはReplicatにより読み取られたリモート・トレイルに書き込むデータ・ポンプになります。)このコール・タイプによって、ユーザー・イグジットは、ライター・プロセスの停止時に未完了のままのトランザクションを中止または破棄し、以前に完了したトランザクションの開始時の処理をリカバリおよび再開できます。

EXIT_CALL_BEGIN_TRANS

次のいずれかの直前にコールされます。

  • データ・ポンプにより読み取られるトランザクションのBEGINレコード

  • Replicatトランザクションの開始

EXIT_CALL_CHECKPOINT

ExtractまたはReplicatチェックポイントが書き込まれた直後にコールされます。

EXIT_CALL_DISCARD_ASCII_RECORD

Extractの処理中に、ASCII入力レコードが破棄ファイルに書き込まれる前にコールされます。関連するASCIIバッファは、コールバック・ルーチンを使用してユーザー・イグジットによって取得および操作できます。

このコール・タイプは、Replicatプロセスでは使用できません。

EXIT_CALL_DISCARD_RECORD

Replicatの処理中に、レコードが破棄ファイルに書き込まれる前にコールされます。レコードは、Oracle GoldenGate変更レコードの値がターゲット表の現在のバージョンと異なっているときなど、複数の理由で破棄されます。関連する破棄バッファは、コールバック・ルーチンを使用してユーザー・イグジットによって取得および操作できます。

このコール・タイプは、Extractプロセスでは使用できません。

EXIT_CALL_END_TRANS

次のいずれかの直後にコールされます。

  • データ・ポンプにより読み取られるトランザクションのENDレコード

  • Replicatトランザクションの最後のレコード

EXIT_CALL_FATAL_ERROR

ExtractまたはReplicatの処理中に致命的なエラーが発生後、Oracle GoldenGateが停止する直前にコールされます。

EXIT_CALL_PROCESS_MARKER

Replicatの処理中に、NonStopサーバーのマーカーがトレイルから読み取られ、マーカー履歴ファイルに書き込まれる前にコールされます。

EXIT_CALL_PROCESS_RECORD

  • Extractの場合は、レコード・バッファがトレイルに出力される前にコールされます。

  • Replicatの場合は、レプリケートされた操作が実行される直前にコールされます。

このコールは、ほとんどのユーザー・イグジット処理の基盤です。EXIT_CALL_PROCESS_RECORDがコールされると、コールバック・ルーチンを通じて、ユーザー・イグジットでレコード・バッファとその他のレコード情報が利用可能になります。ソースとターゲットのマッピングがパラメータ・ファイルで指定されている場合、マッピングはEXIT_CALL_PROCESS_RECORDイベントが発生する前に実行されます。ユーザー・イグジットは、レコード内の他のすべての操作を、マップ、変換、削除、または実行できます。ユーザー・イグジットは、コール元がレコードを処理または無視する必要があるかを示すステータスを返すことができます。

EXIT_CALL_START

処理開始時にコールされます。ユーザー・イグジットは、ファイルのオープンや変数の初期化などの初期化作業を実行できます。

EXIT_CALL_STOP

プロセスが正常に停止または異常終了する前にコールされます。ユーザー・イグジットは、ファイルのクローズや合計の出力などの完了作業を実行できます。

EXIT_CALL_RESULT

各イグジット・コールの完了時に、コール元にレスポンス方法を指示するためにユーザー・イグジット・ルーチンによって設定されます。