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

前
 
次
 

5 フラット・ファイル・アダプタの構成

この章では、ユーザー・イグジット・パラメータとファイル・ライターのプロパティを設定し、フラット・ファイルの書込み用にOracle GoldenGateアダプタを構成する方法について説明します。

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

5.1 フラット・ファイルの書込み用アダプタの構成

図5-1「フラット・ファイルの書込み用の一般的な構成」に、フラット・ファイルを書き込むOracle GoldenGate Application Adapterの一般的な構成を示します。プライマリExtractプロセスによってトランザクションがソース・データベースから取得され、データがOracle GoldenGate証跡に書き込まれます。その後、データ・ポンプExtractを使用してトランザクションが証跡に送信され、アダプタExtractによって読み取られます。アダプタExtractに関連付けられているユーザー・イグジット・ライブラリは、サード・パーティ・アプリケーション用にフォーマットされたフラット・ファイルにデータを書き込みます。

ソース・データベース・システムを構成するには、次のようにします。

GGSCI > ADD EXTRACT pump, EXTTRAILSOURCE dirdat/aa
GGSCI > ADD RMTTRAIL dirdat/bb, EXTRACT pump, MEGABYTES 20

データ統合を構成するには、次のようにします。

GGSCI > ADD EXTRACT ffwriter, EXTTRAILSOURCE dirdat/bb

前述のサンプルのプロセス名および証跡名を任意の有効な名前に置き換えます。プロセス名は8文字以下、証跡名は2文字である必要があります。

図5-1 フラット・ファイルの書込み用の一般的な構成

図5-1の説明が続きます
「図5-1 フラット・ファイルの書込み用の一般的な構成」の説明

5.1.1 ユーザー・イグジットExtractのパラメータ

ユーザー・イグジットExtractのパラメータ(ffwriter.prm)は、次のとおりです。

パラメータ 説明
EXTRACT FFWRITER 
すべてのExtractパラメータ・ファイルはExtract名で始まります。この場合は、ユーザー・イグジットのファイル・ライター名です。
SOURCEDEFS dirdef/hr_ora.def
証跡の内容を決めるソース定義ファイル。
CUSEREXIT flatfilewriter.dll CUSEREXIT
PASSTHRU, INCLUDEUPDATEBEFORES,
PARAMS ffwriter.properties 
CUSEREXITパラメータのオプションは次のとおりです。
  • flatfilewriter.dllは、ユーザー・イグジット.dllまたは.soライブラリの名前です。

  • CUSEREXITは、起動されるユーザー・イグジット・ルーチンの名前です(大文字/小文字は区別されます)。

  • PASSTHRUは、Extractプロセスが証跡に書き込む必要がないことを指定します。

  • INCLUDEUPDATEBEFORESは、ビフォア・イメージとアフター・イメージの両方を出力に含めることを許可します。整合性目的およびトランザクションの追跡用にも必要です。

  • PARAMSでは、ユーザー・イグジット・プロパティ・ファイルの名前を指定できます。

TABLE HR.*;
処理する表のリストを指定します。

5.1.2 ユーザー・イグジット・プロパティ

ユーザー・イグジットは、CUSEREXIT PARAMSで識別されるファイルからプロパティを読み取ります。デフォルトは、ffwriter.propertiesからの読取りです。

プロパティ・ファイルには、ユーザー・イグジットによる操作方法の詳細が含まれています。各プロパティの詳細は、第8章「フラット・ファイルのプロパティ」を参照してください。

5.2 推奨されるデータ統合方法

マイクロ・バッチ機能を最大限利用するには、データ統合ツールで次の処理を行う必要があります。

  1. 制御ファイルを処理します。

  2. 処理するファイルのリストを制御ファイルから読み取ります。

  3. 制御ファイルの名前を変更します。

  4. 制御ファイルから読み取ったカンマ区切りのファイルのリストを順に処理します。

  5. 各データ・ファイルを処理し、完了したら、データ・ファイルを削除します。

  6. 名前を変更した制御ファイルを削除します。

起動時、データ統合ツールは、名前が変更された制御ファイルをチェックし、以前に失敗した処理からリカバリする必要があるか確認します。

制御ファイルの名前が変更されている場合、最初のファイル・ロールオーバー時、ユーザー・イグジットは新規ファイルに書き込みます。これに、次のバッチ用のファイルのリストが含まれます。

ユーザー・イグジットがサマリー・ファイルも出力するよう構成されている場合、オプションでデータ統合ツールはそのサマリー・ファイルも読み取り、処理した各データ・ファイルについて処理した操作の数とサマリー・ファイル内のデータをクロスチェックできます。

5.3 データ・ファイルの生成

データ・ファイルは、ユーザー・イグジットのプロパティでライターを構成することで生成されます。1つのユーザー・イグジット・プロパティ・ファイルは複数のライターを持つことができるため、同じ入力データに対して複数の異なる形式の出力データ・ファイルを生成できます。

ライターは、goldengate.flatfilewriter.writersプロパティに名前で追加されます。次に例を示します。

goldengate.flatfilewriter.writers=dsvwriter,diffswriter,binarywriter

プロパティ・ファイルの残りの部分には、指定された各ライターの詳細なプロパティが含まれます。プロパティの前にライター名を付けます。次に例を示します。

dsvwriter.files.onepertable=true
binarywriter.files.onepertable=false
binarywriter.files.oneperopcode=true

各ライターは、すべてのデータを1つの(ローリング)データ・ファイルに出力することも、入力表または操作タイプごとに1つの(ローリング)データ・ファイルを生成することもできます。これは、前述の例にあるfiles.onepertableおよびfiles.oneperopcodeプロパティで制御されます。

各ライターによって書き込まれるデータの出力形式は2つあり、モード・プロパティによって制御されます。これは次のいずれかです。

  • DSV - デリミタ区切りの値

  • LDV - 長さ区切りの値

次に例を示します。

dsvwriter.mode=dsv
binarywriter.mode=ldv

データ・ファイルが初めてディスクに書き込まれる際、一時的な拡張子が付けられます。ファイルがロールオーバーの基準を満たすと、拡張子はロールされた拡張子に変わります。制御ファイルが使用されている場合、必要に応じて制御ファイルが作成され、最終的なファイル名が制御ファイル内のリストに追加されます。また、ファイル・レベルの統計サマリーが生成される場合、ファイルのロールオーバー時に作成されます。

出力ディレクトリ(データ・ファイルと制御ファイルで異なる)、一時的な拡張子、ロールされた拡張子、制御ファイルの拡張子および統計サマリーの拡張子はすべてプロパティを使用して構成できます。出力構成の詳細は、「出力ファイルのプロパティ」を参照してください。

書き込まれる各データ・ファイルは、出力スタイルに応じた命名規則に従います。表ごとに1つのファイルに書き込むファイルの場合、次のように名前に表名が含まれます。

MY.TABLE_2013-08-03_11:30:00_data.dsv

すべてのデータを1つのファイルに書き込むファイルの場合、次のように名前に表名は含まれません。

output_2013-08-03_11:30:00_data.dsv

基本的なデータの内容以外に、データ消費の際に便利なようにメタデータ列を出力データに追加できます。これには、スキーマ(所有者)と表情報、ソース・コミット・タイムスタンプ、Oracle GoldenGate読取り位置などがあります。メタデータ列の詳細は、「メタデータ列」を参照してください。

データ・ファイルの内容は、モードや入力データ、および追加するメタデータ列(追加する場合)、列名を含めるかどうか、ビフォア・イメージを含めるかどうかなどを決める各種プロパティによって異なります。出力データを制御するすべてのプロパティの詳細は、「データ内容のプロパティ」を参照してください。