ヘッダーをスキップ
Oracle® GoldenGate Application Adapters Oracle GoldenGateアダプタの管理
12c (12.1.2.1.1)
E67383-01
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

12 メッセージ配信の構成

この章では、メッセージの配信用にアダプタを構成する方法について説明します。これを行うには、ユーザー・イグジット・プロパティ・ファイルでプロパティを設定して、データ・ポンプとしてユーザー・イグジットを実行するようExtractを構成し、使用する組込みまたはカスタムのイベント・ハンドラを識別する必要があります。

この章の内容は次のとおりです。

12.1 ユーザー・イグジット・プロパティ・ファイルでのJREの構成

Java用Oracle GoldenGateメインjar(ggjava.jar)の場所を指すようユーザー・イグジット・プロパティ・ファイルを変更します。必要に応じて追加のJVMランタイム起動オプション(起動時にJVMに直接渡される)を設定します。

jvm.bootoptions=-Djava.class.path=ggjava/ggjava.jar
-Dlog4j.configuration=log4j.properties -Xmx512m

特に次のオプションに注意してください。

  • java.class.pathには、コア・アプリケーション(ggjava.jar)以外にカスタムjarを含めることができます。現在のディレクトリ(.)がデフォルトでクラスパスに含められます。Oracle GoldenGateインストール・ディレクトリを基準にファイルを参照し、Javaプロパティ・ファイル、Velocityテンプレートおよびdirprmサブディレクトリ内の他のクラスパス・リソースを格納できます。Javaアプリケーション・プロパティ・ファイルでクラスパスに追加することもできます。

  • log4j.configurationオプションは、クラスパス内にあるlog4プロパティ・ファイルを指定します。基本ロギング(log4j.properties)、デバッグ・ロギング(debug-log4j.properties)および詳細トレースレベル・ロギング(trace-log4j.properties)用にあらかじめ構成されたデフォルトのlog4j設定がresources/classesディレクトリにあります。

システム用にユーザー・イグジット・プロパティ・ファイルを正しく構成したら、通常変更しません。構成オプションの詳細は、「ユーザー・イグジット・プロパティ」を参照してください。

12.2 ユーザー・イグジットを実行するためのデータ・ポンプの構成

ユーザー・イグジットExtractは、データ・ポンプとして構成されます。データ・ポンプはローカル証跡(dirdat/aaなど)を消費し、データをユーザー・イグジットに送信します。ユーザー・イグジットは、すべてのデータの処理に使用されます。

データ・ポンプExtractの追加例は、次のとおりです。

ADD EXTRACT javaue, EXTTRAILSOURCE ./dirdat/aa

前述のプロセス名と証跡名は、任意の有効な名前で置き換えます。プロセス名は8文字以下、証跡名は2文字である必要があります。ユーザー・イグジットExtractパラメータ・ファイル(javaue.prm)で、ユーザー・イグジット・ライブラリの場所を指定します。

表12-1 ユーザー・イグジットExtractのパラメータ

パラメータ 説明
EXTRACT javaue

すべてのExtractパラメータ・ファイルはExtract名で始まります。

SOURCEDEFS ./dirdef/tcust.def

Extractプロセスは、証跡データを表すメタデータを必要とします。これは、データベースまたはソース定義ファイルから取得します。このメタデータは、読み取る対象の証跡(./dirdat/aa)の列名およびデータ型を定義します。

SETENV (GGS_USEREXIT_CONF = "dirprm/javaue.properties")

(オプション)Cユーザー・イグジット・ライブラリのプロパティ・ファイルの絶対パスまたは相対(Extract実行可能ファイルを基準とした)パス。デフォルト値は、dirprmディレクトリのextract_name.propertiesです。

SETENV (GGS_JAVAUSEREXIT_CONF = "dirprm/javaue.properties")

(オプション)Javaプロパティ。この例では、dirpmディレクトリにプロパティ・ファイルを配置します。

CUSEREXIT ggjava_ue.dll CUSEREXIT
PASSTHRU
INCLUDEUPDATEBEFORES

CUSEREXITパラメータには、次のものが含まれます。

  • ユーザー・イグジット・ライブラリの場所。UNIXの場合、ライブラリには.so接尾辞が付きます。

  • CUSEREXIT - コールバック関数名。大文字である必要があります。

  • PASSTHRU - ダミー・ターゲット証跡の必要がなくなります。

  • INCLUDEUPDATEBEFORES - トランザクションの整合性のために必要です。

TABLE schema.*;

ユーザー・イグジットに渡す表。含まれていない表はスキップされます。フィルタなしをユーザー・イグジットExtractで行えます。それ以外の場合、トランザクション・マーカーは省略されます。プライマリExtractでのフィルタ、別のアップストリーム・データ・ポンプの使用またはJavaアプリケーションでのデータの直接のフィルタを行えます。



注意:

PASSTHRUを使用すると、レポート数を処理レポートに含めることができる統計レポートが無効になります。レポート数統計を収集し、ユーザー・イグジットからExtractに送信するには、プロパティgg.report.timeを使用します。

前述の2つの環境プロパティはオプションです。

  • SETENV (GGS_USEREXIT_CONF = "dirprm/javaue.properties")

    これは、ユーザー・イグジット共有ライブラリに使用されるデフォルトの構成ファイルを変更します。指定される値は、絶対パスまたはExtract(またはReplicat)を基準としたパスです。前述の例では、相対パスを使用してこのプロパティ・ファイルをdirprmディレクトリに配置します。

    使用されるデフォルト・ファイルは、dirprmディレクトリにあるextract_name.propertiesです。Extract名がpumpAの場合、prmファイルはdirprm/pumpA.prmで、プロパティ・ファイルはdirprm/pumpA.propertiesです。

  • SETENV (GGS_JAVAUSEREXIT_CONF = "dirprm/javaue.properties")

    これは、Java用Oracle GoldenGateフレームワークに使用されるデフォルトのプロパティ・ファイルを変更します。値は、クラスパスまたは通常のファイル・システム・パスにあるファイルへのパスです。

    GGS_USEREXIT_CONFおよびGGS_JAVAUSEREXIT_CONFの両方とも、デフォルトは同じファイルdirprm/extract_name.propertiesです。

12.3 Javaハンドラの構成

Oracle GoldenGate Java APIには、アクティブ・イベント・ハンドラの構成に使用するプロパティ・ファイルがあります。構成をテストするには、組込みファイル・ハンドラを使用できます。次に、プロパティ例とプロパティの説明(#で始まるコメント行)を示します。

# the list of active handlers
gg.handlerlist=myhandler
# set properties on 'myhandler'
gg.handler.myhandler.type=file
gg.handler.myhandler.format=tx2xml.vm
gg.handler.myhandler.file=output.xml

このプロパティ・ファイルでは、次のように宣言しています。

  • アクティブ・イベント・ハンドラ。この例では、myhandlerという名前の1つのイベント・ハンドラがアクティブです。複数のハンドラをカンマで区切って指定できます。たとえば、gg.handlerlist=myhandler, yourhandlerです。

  • ハンドラの構成。この例では、myhandlerfileタイプのハンドラと宣言されています(gg.handler.myhandler.type=file)。


    注意:

    設定可能な有効なプロパティのリストは、各タイプのハンドラ(JMSハンドラ、ファイル・ライター・ハンドラなど)のドキュメントを参照してください。

  • 出力の形式は、Velocityテンプレートtx2xml.vmによって定義されます。メッセージ形式を定義する独自のカスタム・テンプレートを指定できます。Javaクラスパスを基準としてテンプレートのパスを指定します(これは後述します)。

このプロパティ・ファイルは、実際、取得されたトランザクションを出力ファイルoutput.xmlに書き込む完全な例です。他のハンドラ・タイプは、キーワードjms_text(またはjms)、jms_mapsinglefile(ロールしないファイル)などを使用して指定できます。カスタム・ハンドラを実装できます。この場合、タイプはハンドラのJavaクラスの完全修飾名です。