2.36 CUSEREXIT
適用対象
Extract (マルチテナント・コンテナ・データベース(CDB)をフェッチする場合)およびReplicat
説明
CUSEREXIT
パラメータを使用して、Oracle GoldenGate処理内の定義済イグジット・ポイントで、Windows DLLまたはUNIX共有オブジェクトから、Cプログラミング・コードで記述されたカスタム・イグジット・ルーチンをコールします。ユーザー・イグジット・ルーチンは、ExtractおよびReplicatプロセスから様々なイベントおよび情報を受け入れ、リクエストどおりに情報を処理し、コール元(このルーチンをコールしたOracle GoldenGateプロセス)にレスポンスと情報を返す必要があります。
ユーザー・イグジットは、Oracle GoldenGateソリューション内で使用可能なデータ変換ファンクションのかわりとしても、こうしたファンクションと一緒にも使用できます。
ノート:
調整Replicatを使用してユーザー・イグジット・ルーチンをコールする場合、スレッドセーフの方法でユーザー・イグジットを記述する必要があります。
ユーザー・イグジットの作成および実装の詳細は、『Oracle GoldenGateの管理』を参照してください。
デフォルト
なし
構文
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_param
はNULL
です。
例
- 例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'
親トピック: Oracle GoldenGateパラメータ