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

前
次

3.39 CUSEREXIT

適用対象

Extract (マルチテナント・コンテナ・データベース(CDB)をフェッチする場合)およびReplicat

説明

CUSEREXITパラメータを使用して、Oracle GoldenGate処理内の定義済イグジット・ポイントで、Windows DLLまたはUNIX共有オブジェクトから、Cプログラミング・コードで記述されたカスタム・イグジット・ルーチンをコールします。ユーザー・イグジット・ルーチンは、ExtractおよびReplicatプロセスから様々なイベントおよび情報を受け入れ、リクエストどおりに情報を処理し、コール元(このルーチンをコールしたOracle GoldenGateプロセス)にレスポンスと情報を返す必要があります。

ユーザー・イグジットは、Oracle GoldenGateソリューション内で使用可能なデータ変換ファンクションのかわりとしても、こうしたファンクションと一緒にも使用できます。

注意:

調整Replicatを使用してユーザー・イグジット・ルーチンをコールする場合、スレッドセーフの方法でユーザー・イグジットを記述する必要があります。

ユーザー・イグジットの作成および実装の詳細は、Oracle GoldenGateの管理for Windows and UNIXを参照してください。

デフォルト

なし

構文

CUSEREXIT {DLL | shared_object} routine
[, INCLUDEUPDATEBEFORES]
[, PARAMS 'string']
{DLL | shared_object}

ユーザー・イグジット・ファンクションを含むWindows DLLまたはUNIX共有オブジェクトの名前。

routine

実行するイグジット・ルーチン名。

INCLUDEUPDATEBEFORES

列値のビフォア・イメージをユーザー・イグジットに渡します。このパラメータを使用するときは、requesting_before_after_indフラグをサポートするコールバック・ファンクション内でこのフラグをBEFORE_IMAGE_VALに設定し、ビフォア・イメージを明示的にリクエストする必要があります。この設定を行わないと、アフター・イメージのみがユーザー・イグジットに渡されます。デフォルトでは、Oracle GoldenGateはアフター・イメージのみを使用します。

データ・ポンプまたはReplicatからコールされるユーザー・イグジットに対してINCLUDEUPDATEBEFORESを使用する場合は、常にプライマリExtractプロセスでGETUPDATEBEFORESパラメータを使用することにより、ビフォア・イメージを取得してトレイルに書き込み、ユーザー・イグジットでprocess_recordイベントを発生させます。プライマリExtractにもユーザー・イグジットが含まれている場合は、GETUPDATEBEFORESによってビフォアおよびアフター・イメージ両方が別々のEXIT_CALL_PROCESS_RECORDイベントとしてユーザー・イグジットに送信されます。

ユーザー・イグジットが(トランザクション・ログを読み込む)プライマリExtractからコールされる場合、このExtractに必要なのはINCLUDEUPDATEBEFORESのみです。このケースでは、他のダウンストリームのOracle GoldenGateプロセスがトレイルへのビフォア・イメージ書込みを必要としないかぎり、GETUPDATEBEFORESは必要ありません。INCLUDEUPDATEBEFORESを指定しても、ビフォア・イメージはトレイルに書き込まれません。

PARAMS 'string'

指定した文字列を起動時に渡します。プロパティ・ファイル、起動パラメータ、その他の文字列を渡すために使用できます。文字列は一重引用符で囲みます。

この文字列のデータは、EXIT_CALL_START exit_params_def.function_paramのユーザー・イグジットに渡されます。PARAMSで、引用符で囲まれた文字列が指定されない場合、exit_params_def.function_paramNULLです。

例1   
CUSEREXIT userexit.dll MyUserExit
例2   
CUSEREXIT userexit.dll MyUserExit, PARAMS 'init.properties'
例3   
CUSEREXIT userexit.dll MyUserExit, INCLUDEUPDATEBEFORES, PARAMS 'init.properties'
例4   
CUSEREXIT userexit.dll MyUserExit, INCLUDEUPDATEBEFORES, &
  PARAMS 'init.properties'
例5   
CUSEREXIT cuserexit.dll MyUserExit, & 
  INCLUDEUPDATEBEFORES, PARAMS 'Some text to start with during startup'