ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Data Integrator接続およびナレッジ・モジュール・ガイド
12c (12.1.2)
E49825-03
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

4 汎用SQL

この章では、ANSI SQL-92構文をサポートしているテクノロジのOracle Data Integratorでの使用方法について説明します。


注意:

これは汎用情報の章です。この章の情報は、ANSI SQL-92構文をサポートしているテクノロジ(Oracle、Microsoft SQL Server、Sybase ASE、IBM DB2、Teradata、PostgreSQL、MySQL、Derbyなど)に適用できます。

ANSI SQL-92準拠の一部のテクノロジについては、このガイドの別の章で説明しています。特定のテクノロジのODI最適化およびデータベース・ユーティリティの利用方法に関する具体的な情報は、専用のテクノロジ関連の章を参照してください。


この章には次の項が含まれます:

4.1 概要

Oracle Data Integratorでは、ANSI SQL-92標準準拠のテクノロジがサポートされます。

4.1.1 概念

ANSI SQL-92標準準拠テクノロジで使用される概念と、Oracle Data Integratorの概念のマッピングでは、Oracle Data Integratorのデータ・サーバーは、データを表形式で格納して処理するデータ処理リソースに対応します。このリソースは、テクノロジに応じて、データベース、インスタンス、サーバーなどと呼ばれます。このリソース内で、1つの下位区分が、1つのOracle Data Integrator物理スキーマにマップされます。この下位区分は、スキーマ、データベース、カタログ、ライブラリなどと呼ばれます。1つのスキーマ内の関連する一連のオブジェクトが1つのデータ・モデルに対応し、各表、ビューまたはシノニムが、その属性、列および制約とともにODIデータストアとして表示されます。

4.1.2 ナレッジ・モジュール

Oracle Data Integratorには、ANSI SQL-92標準準拠テクノロジに格納されているデータを処理するための、幅広いナレッジ・モージュールが用意されています。表4-1にリストされているナレッジ・モジュールは、汎用SQLナレッジ・モジュールであり、最も一般的なANSI SQL-92標準準拠のデータベースに適用されます。

また、特定のユーティリティを利用するために、Oracle Data Integratorには一部の特定データベース専用のナレッジ・モジュールも用意されています。ローダーまたは外部表などの機能を使用するテクノロジ固有のKMは、対応するテクノロジの章にリストされています。

表4-1 汎用SQLナレッジ・モジュール

ナレッジ・モジュール 説明

CKM SQL

データストアで定義された制約と照合して、データの整合性をチェックします。無効なレコードを拒否して、動的に作成されるエラー表に格納します。フロー制御および静的制御に使用できます。

ANSI SQL-92準拠のデータベースでデータの整合性をチェックする場合は、このKMの使用を検討してください。使用するデータベース固有のCKMが存在する場合は、かわりにそのCKMを使用してください。

IKM SQL Control Append

置換/追加モードでANSI SQL-92準拠ターゲット表にデータを統合します。CKMを使用してフロー・データをチェックする必要がある場合は、CKMを起動する前に一時的なステージング表が作成されます。フロー制御をサポートします。

置換モードで(データ整合性チェックを行って、もしくは行わずに)SQL準拠のターゲット表をロードする場合は、このIKMの使用を検討してください。

このIKMを使用するには、ステージング領域がターゲットと同じデータ・サーバー上にあることが必要です。

IKM SQL Incremental Update

増分更新モードでANSI SQL-92準拠のターゲット表にデータを統合します。このKMにより、データ・フローをステージングするための一時ステージング表が作成されます。次に、挿入するレコードと更新するレコードを判別するために、その内容がターゲット表と比較されます。また、CKMを起動してデータ整合性チェックを実行することもできます。このため、このKMを大量のデータに対して使用することはお薦めしません。フロー制御をサポートします。

ANSI SQL-92準拠のターゲット表をロードして、欠落しているレコードを挿入し、既存のレコードを更新する場合は、このKMの使用を検討してください。可能な場合は常に、パフォーマンスがより最適化されている、テクノロジ固有の増分更新IKMを使用してください。

このIKMを使用するには、ステージング領域がターゲットと同じデータ・サーバー上にあることが必要です。

IKM SQL Incremental Update (row by row)

増分更新モードでANSI SQL-92準拠のターゲット・データベースにデータを統合します。このIKMは、行ごとにデータを処理し、既存の行を更新し、存在しない行を挿入します。無効なデータはエラー表に分離され、再利用できます。このIKMをジャーナル化されたソース表と組み合せて使用する場合は、削除を同期できます。フロー制御をサポートします。

IKM SQL to File Append

ANSI SQL-92準拠ステージング領域からターゲット・ファイルへ、置換モードでデータを統合します。フロー制御をサポートします。

データを変換してターゲット・ファイルにエクスポートする場合は、このIKMの使用を検討してください。ソース・データストアが同じデータ・サーバー上にある場合は、余分なロード・フェーズ(LKM)を発生させないために、このデータ・サーバーをステージング領域として使用することをお薦めします。

このIKMを使用するには、ステージング領域がターゲットと異なる必要があります。

IKM SQL to SQL Control Append

任意のANSI-SQL92準拠のステージング領域からANSI-SQL92準拠のターゲット・データベースへデータを統合します。フロー制御をサポートします。

通常、このIKMはETL構成に使用されます。この構成では、ソース表とターゲット表は異なるデータベースにあり、マッピングのステージング領域は、ソース表の論理スキーマまたは第3のスキーマに設定されます。

IKM SQL to SQL Incremental Update

任意のANSI SQL-92準拠データベースから任意のANSI SQL-92準拠データベースのターゲット表へ、増分更新モードでデータを統合します。フロー制御をサポートします。

通常、このIKMはETL構成に使用されます。この構成では、ソース表とターゲット表は異なるデータベースにあり、マッピングのステージング領域は、ソース表の論理スキーマまたは第3のスキーマに設定されます。

IKM SQL Insert

追加モードでANSI SQL-92ターゲット表にデータを統合します。単一のINSERT SQL文で、ターゲット表にデータが直接ロードされます。組込みKMです。

IKM SQL Update

増分更新モードでANSI SQL-92のターゲット表にデータを統合します。単一のUPDATE SQL文で、ターゲット表にデータが直接ロードされます。組込みKMです。

IKM SQL Merge

増分更新モードでANSI SQL-92のターゲット表にデータを統合します。単一のMERGE SQL文で、ターゲット表にデータが直接ロードされます。組込みKMです。

LKM File to SQL

ASCIIファイルまたはEBCDICファイルから、ステージング領域として使用されるANSI SQL-92準拠データベースへ、データをロードします。エージェントを使用してソース・ファイルから選択されたデータを読み取り、動的に作成された一時ステージング表に結果を書き込みます。

ソース・データストアのいずれかがASCIIまたはEBCDICファイルの場合は、このLKMの使用を検討してください。可能であれば、パフォーマンスがより最適化されている、テクノロジ固有のLKMをターゲット・ステージング領域に使用してください。たとえば、Oracleデータベースにロードするときには、LKM File to Oracle (SQLLDR)またはLKM File to Oracle (EXTERNAL TABLE)を使用してください。

LKM SQL to File

ターゲット・フラット・ファイルにデータをロードおよび統合します。このLKMでは、IKMの設定が無視されます。組込みKMです。

LKM SQL to SQL

ANSI SQL-92準拠のデータベースからANSI SQL-92準拠のステージング領域へデータをロードします。エージェントを使用してソース・データベースから選択されたデータを読み取り、動的に作成された一時ステージング表に結果を書き込みます。

ソース・データストアがステージング領域と異なるSQL準拠のデータベース上にある場合は、このLKMの使用を検討してください。可能な場合は常に、パフォーマンスがより最適化されているテクノロジ固有のLKMを、ソースおよびターゲットのステージング領域に使用してください。たとえば、Oracleソース・サーバーからOracleステージング領域にロードするときには、LKM Oracle to Oracle (dblink)を使用してください。

LKM SQL to SQL (Built-in)

ANSI SQL-92準拠のデータベースからANSI SQL-92準拠のステージング領域へデータをロードします。エージェントを使用してソース・データベースから選択されたデータを読み取り、動的に作成された一時ステージング表に結果を書き込みます。ソース実行ユニットに指定された抽出オプションを使用してソース問合せが生成されます。組込みKMです。

LKM SQL to SQL (row by row)

ISO-92データベースからISO-92準拠のターゲット・データベースにデータをロードします。このLKMでは、Jythonスクリプトを使用してデータベースから選択されたデータを読み取り、動的に作成されたターゲット一時表に結果を書き込みます。これは、ステージング領域からターゲットへデータをロードし、処理された各行の状態を示します。

次のオプションがロギング・メカニズムに使用されます。

  • LOG_LEVEL: このオプションは記録されるデータの粒度の設定に使用されます。

    次のログ・レベルを設定できます。

    • 0: 何も記録されません。

    • 1: 選択アクション、削除アクション、挿入アクションなどのJDBCアクションが示されます。

    • 2: レベル1の他に、エラーが発生したすべてのレコードが記録されます。

    • 3: レベル2の他に、処理されたすべてのレコードが記録されます。

  • LOG_FILE_NAME: 使用されるログ・ファイルのフル・パス。このログ・ファイルが書き込まれるディレクトリは、マッピングの実行前に作成する必要があります。

  • MAX_ERRORS: エラーの最大数を指定します。

    このオプションで指定したエラーの最大数に達すると、LKMプロセスが停止します。

大量のデータを扱う場合には、このナレッジ・モジュールはお薦めしません。バルク・ユーティリティ(SQL*LOADER、BULK INSERTなど)または直接リンク(DBLINKS、リンク・サーバーなど)を使用する他のモジュールの方が、通常効率的です。

LKM SQL to SQL (JYTHON)

ANSI SQL-92準拠のデータベースからANSI SQL-92準拠のステージング領域へデータをロードします。Jythonを使用してソース・データベースから選択されたデータを読み取り、動的に作成された一時ステージング表に結果を書き込みます。このLKMでは、提供されている基礎的なJythonコードを編集して、ソース・データベースとターゲット・ステージング領域の間のデフォルトJDBCデータ型バインディングを変更できます。

ソース・データストアがステージング領域と異なるANSI SQL-92準拠のデータベースにあり、独自のデータ型バインディング方法を指定する場合は、このLKMの使用を検討してください。

可能な場合は常に、パフォーマンスがより最適化されているテクノロジ固有のLKMを、ソースおよびターゲットのステージング領域に使用してください。たとえば、Oracleソース・サーバーからOracleステージング領域にロードするときには、LKM Oracle to Oracle (dblink)を使用してください。

LKM SQL Multi-Connect

ターゲット表に対する複数接続IKMの使用を有効にします。組込みIKMです。

RKM SQL (JYTHON)

任意のANSI SQL-92準拠データベースから、表、ビュー、システム表および列のJDBCメタデータを取得します。このRKMを使用して、JDBCメタデータをOracle Data Integratorメタデータに変換するための独自の戦略を指定することも可能です。

使用するJDBCドライバの特異性により、標準のJDBCリバースエンジニアリング・プロセスで問題が発生した場合は、このRKMの使用を検討してください。このRKMでは、JDBCドライバの特異性に合せて、基礎となるJythonコードを編集できます。

SKM SQL

ANSI SQL-92準拠データベースのデータ・アクセスWebサービスを生成します。データ・アクセス・サービスには、レコードの追加、削除、更新またはフィルタリングなどのデータ操作の他、変更されたデータの取得などのチェンジ・データ・キャプチャ操作が含まれます。データ操作は、データストアの制約による定義に従って、整合性チェックの影響を受けます。

データ操作またはチェンジ・データ・キャプチャのWebサービスを生成してサービス指向アーキテクチャ・インフラストラクチャにデプロイする場合は、このSKMの使用を検討してください。使用するデータベース固有のSKMが存在する場合は、かわりにそのSKMを使用してください。


4.2 インストールおよび構成

汎用SQLナレッジ・モジュールの使用を開始する前に、この項の情報を必ず読んでください。

4.2.1 システム要件および動作要件

インストールを実行する前に、システム要件および動作要件のドキュメントを読んで、使用する環境がインストールする製品の最低インストール要件を満たすことを確認する必要があります。

サポートされているプラットフォームおよびバージョンのリストには、次のOracle Technical Network (OTN)からアクセスできます。

http://www.oracle.com/technology/products/oracle-data-integrator/index.html

4.2.2 テクノロジ固有の要件

詳細は、特定のテクノロジに関する章の「テクノロジ固有の要件」の項を参照してください。

使用するテクノロジ専用の章がこのガイドに含まれていない場合は、使用するテクノロジのドキュメントでテクノロジ固有の要件を確認してください。

4.2.3 接続性要件

詳細は、特定のテクノロジに関する章の「接続性要件」の項を参照してください。

Java Database Connectivity (JDBC)は、データベースおよび他のデータソースに接続するための標準です。使用するテクノロジ専用の章がこのガイドに含まれていない場合は、使用するテクノロジのドキュメントを参照して、JDBC構成情報(ドライバ・ファイル、ドライバ名およびJDBC URL書式の要件を含む)を確認してください。

4.3 トポロジの設定

トポロジの設定には次が含まれます。

  1. データ・サーバーの作成

  2. 物理スキーマの作成

4.3.1 データ・サーバーの作成

『Oracle Data Integrator開発者ガイド』のデータ・サーバーの作成に関する項に記載されている標準の手順で、「物理アーキテクチャ」アコーディオン内にリストされているANSI SQL-92準拠テクノロジの下に、データ・サーバーを作成します。

使用するテクノロジ専用の章がこのガイドに含まれている場合は、その章で詳細を確認してください。含まれていない場合は、そのテクノロジのドキュメントを参照してJDBCドライバ名およびJDBC URL書式を確認してください。

4.3.2 物理スキーマの作成

『Oracle Data Integrator開発者ガイド』の物理スキーマの作成に関する項に記載されている標準の手順で、物理スキーマを作成します。

使用するテクノロジ専用の章がこのガイドに含まれている場合は、その章で詳細を確認してください。

4.4 統合プロジェクトの設定

ANSI SQL-92準拠のデータベースを使用してプロジェクトを設定するには、標準の手順に従います。『Oracle Data Integrator開発者ガイド』の「統合プロジェクトの作成」を参照してください。

作業を開始するにあたって使用するプロジェクトにインポートする推奨のナレッジ・モジュールは、対応するテクノロジによって異なります。使用するテクノロジ専用の章がこのガイドに含まれている場合は、その章で詳細を確認してください。

4.5 モデルの作成およびリバース・エンジニアリング

この項には次のトピックが含まれます:

4.5.1 データ・モデルの作成

『Oracle Data Integrator開発者ガイド』のモデルの作成に関する項に記載されている標準の手順で、ANSI SQL-92準拠テクノロジに基づくデータ・モデルを作成します。

使用するテクノロジ専用の章がこのガイドに含まれている場合は、その章で詳細を確認してください。

4.5.2 データ・モデルのリバース・エンジニアリング

ANSI SQL-92標準準拠テクノロジでは、JDBCドライバの機能のみを使用する標準のリバース・エンジニアリング、およびロギング機能を提供するRKMを使用するカスタマイズされたリバース・エンジニアリングの両方がサポートされています。

通常は、このRKM SQL (Jython)のかわりに標準のJDBCリバース・エンジニアリングを使用することを検討してください。ただし、独自のメタデータのリバース・エンジニアリング動作を追加してRKMを拡張する場合は、このRKMを土台として使用できます。

標準のリバース・エンジニアリング

ANSI SQL-92テクノロジで標準のリバース・エンジニアリングを実行するには、『Oracle Data Integrator開発者ガイド』のモデルのリバース・エンジニアリングに関する項に記載されている通常の手順を行います。

使用するテクノロジ専用の章がこのガイドに含まれている場合は、その章で詳細を確認してください。

カスタマイズされたリバース・エンジニアリング

RKMを使用してANSI SQL-92テクノロジでカスタマイズされたリバース・エンジニアリングを実行するには、『Oracle Data Integrator開発者ガイド』のモデルのリバース・エンジニアリングに関する項に記載されている通常の手順を行います。この項では、RKM SQL (Jython)の使用に固有のフィールドのみについて説明します。

このRKMでは、次の2つのロギング・オプションが提供されます。

  • USE_LOG: リバース・エンジニアリングによってログ・ファイル内のログ詳細が処理されるように指定する場合は、Yesに設定します。

  • LOG_FILE_NAME: ログ・ファイルの名前を入力します。このログ・ファイルが書き込まれるディレクトリは、マッピングの実行前に作成する必要があることに注意してください。

4.6 チェンジ・データ・キャプチャの設定

Oracle Data Integratorには、ANSI SQL-92準拠テクノロジ用のジャーナル化ナレッジ・モジュールは用意されていません。

4.7 データ品質の設定

Oracle Data Integratorには、ANSI SQL-92準拠の表で定義された制約と照合してデータの整合性をチェックするためのCKM SQLが用意されています。詳細は、『Oracle Data Integrator開発者ガイド』のフロー制御および静的制御に関する項を参照してください。

4.8 マッピングの設計

ANSI SQL-92準拠テクノロジは、マッピングのソース、ステージング領域またはターゲットとして使用できます。また、ANSI SQL-92準拠テクノロジに基づくETL形式のマッピングを作成することもできます。

マッピングまたはチェック用に選択したKMによって、このマッピングまたはチェックの機能およびパフォーマンスが決まります。この項に示す推奨事項は、ANSI SQL-92準拠テクノロジに基づくデータ・サーバーに関連する様々な状況でのKMの選択に役立ちます。

4.8.1 ANSI SQL-92準拠テクノロジとの間でのデータのロード

マッピングのソース、ターゲットまたはステージング領域としてANSI SQL-92準拠テクノロジを使用できます。「ロード・ナレッジ・モジュール」タブでの、ANSI SQL-92準拠テクノロジと別のタイプのデータ・サーバー間でデータをロードするためのLKMの選択は、マッピングのパフォーマンスに関してきわめて重要です。

4.8.1.1 ANSI SQL-92準拠テクノロジからのデータのロード

表4-2にリストされている汎用KMでは、ANSI SQL-92準拠データベースからターゲットまたはステージング領域のデータベースへデータをロードするための方法が実装されます。これらのKM以外に、Oracle Data Integratorにはターゲットまたはステージング領域のデータベース固有のKMも用意されています。使用するテクノロジ専用の章がこのガイドに含まれている場合は、その章で詳細を確認してください。

表4-2 ANSI SQL-92準拠テクノロジからロードするためのKM

ソースまたはステージング領域 KM 説明

ANSI SQL-92準拠テクノロジ

LKM SQL to SQL

SQL-92からSQL-92へ転送するための標準KM。

ANSI SQL-92準拠テクノロジ

LKM SQL to SQL (Built-in)

JDBCを使用してエージェント経由でSQL-92からSQL-92へ転送するための組込みKM。

ANSI SQL-92準拠テクノロジ

LKM SQL to SQL (Jython)

Jythonを使用してソース・データベースから選択されたデータを読み取り、動的に作成された一時ステージング表に結果を書き込みます。このLKMでは、提供されている基礎的なJythonコードを編集して、ソース・データベースとターゲット・ステージング領域の間のデフォルトJDBCデータ型バインディングを変更できます。

ANSI SQL-92準拠テクノロジ

LKM SQL to SQL (row by row)

このLKMでは行ごとのロギングが使用されます。

ANSI SQL-92準拠テクノロジ

LKM SQL to File

SQL-92からフラット・ファイルへ転送するための組込みKM。


4.8.1.2 ANSI SQL-92準拠テクノロジへのデータのロード

表4-3にリストされている汎用KMには、ソースまたはステージング領域からANSI SQL-92準拠データベースへデータをロードするための方法が実装されています。これらのKM以外に、Oracle Data Integratorにはソースまたはステージング領域のデータベース固有のKMも用意されています。使用するテクノロジ専用の章がこのガイドに含まれている場合は、その章で詳細を確認してください。

表4-3 ANSI SQL-92準拠テクノロジへロードするためのKM

ソースまたはステージング領域 KM 説明

ファイル

LKM File to SQL

標準のKM。

ANSI SQL-92準拠テクノロジ

LKM SQL to SQL

標準のKM。

ANSI SQL-92準拠テクノロジ

LKM SQL to SQL (Built-in)

JDBCを使用してエージェント経由でSQL-92からSQL-92へ転送するための組込みKM。

ANSI SQL-92準拠テクノロジ

LKM SQL to SQL (Jython)

Jythonを使用してソース・データベースから選択されたデータを読み取り、動的に作成された一時ステージング表に結果を書き込みます。このLKMでは、提供されている基礎的なJythonコードを編集して、ソース・データベースとターゲット・ステージング領域の間のデフォルトJDBCデータ型バインディングを変更できます。

ANSI SQL-92準拠テクノロジ

LKM SQL to SQL (row by row)

このLKMでは行ごとのロギングが使用されます。


4.8.2 ANSI SQL-92準拠テクノロジでのデータの統合

ANSI SQL-92準拠テクノロジはマッピングのターゲットとして使用できます。「統合ナレッジ・モジュール」タブのIKMの選択によって、統合のパフォーマンスおよび可能性が決まります。

表4-4にリストされているKMには、ANSI SQL-92準拠のターゲットにデータを統合するための方法が実装されています。これらのKM以外に、Oracle Data Integratorにはソースまたはステージング領域のデータベース固有のKMも用意されています。詳細は、対応するテクノロジの章を参照してください。

表4-4 ANSI SQL-92準拠テクノロジにデータを統合するためのKM

ソースまたはステージング領域 KM 説明

ANSI SQL-92準拠テクノロジ

IKM SQL Control Append

データ・サーバー内部でバルク・データ移動を使用します。フロー制御をサポートします。

ANSI SQL-92準拠テクノロジ

IKM SQL Incremental Update

データ・サーバー内部でバルク・データ移動を使用します。フロー制御をサポートします。

ANSI SQL-92準拠テクノロジ

IKM SQL Incremental Update (row by row)

データ・サーバー内部でバルク・データ移動を使用して、行ごとにデータを処理します。フロー制御をサポートします。

ANSI SQL-92準拠テクノロジ

IKM SQL Insert

データ移動にSQL INSERT文を使用します。組込みKMです。

ANSI SQL-92準拠テクノロジ

IKM SQL Update

データ移動にSQL UPDATE文を使用します。組込みKMです。

ANSI SQL-92準拠テクノロジ

IKM SQL Merge

データ移動にSQL MERGE文を使用します。組込みKMです。

ANSI SQL-92準拠テクノロジ

IKM SQL to File Append

データ移動にエージェントを使用します。フロー制御をサポートします。

ANSI SQL-92準拠テクノロジ

IKM SQL to SQL Incremental Update

データ移動にエージェントまたはJYTHONを使用します。フロー制御をサポートします。

ANSI SQL-92準拠テクノロジ

IKM SQL to SQL Control Append

制御追加戦略にエージェントを使用します。フロー制御をサポートします。


4.8.3 ETL形式マッピングの設計

マッピングの設計方法に関する一般的な情報は、『Oracle Data Integrator開発者ガイド』のマッピングの作成に関する項を参照してください。この項では、ステージング領域およびターゲットがANSI SQL-92準拠であるETL形式マッピングの設計方法について説明します。

ETL形式マッピングでは、ターゲットとは異なるステージング領域内のデータが、ODIによって処理されます。Oracle Data Integratorでは、ANSI SQL-92準拠のステージング領域からANSI SQL-92準拠のターゲットへデータをロードするための2つの方法が提供されます。

使用するKM戦略によって、フロー制御および静的制御がサポートされます。

複数接続IKMの使用

複数接続IKMでは、ステージング領域とソースが異なるデータ・サーバー上にある場合のターゲットの更新が可能です。

Oracle Data Integratorには、ANSI SQL-92準拠テクノロジ用の複数接続IKMであるIKM SQL to SQL Incremental UpdateおよびIKM SQL to SQL Control Appendが用意されています。

複数接続IKMを使用する状況の詳細は、表4-5を参照してください。

ETL形式マッピングで複数接続IKMを使用するには、次のようにします。

  1. 『Oracle Data Integrator開発者ガイド』のマッピングの作成に関する項に記載されている標準の手順で、ステージング領域およびターゲットがANSI SQL-92準拠であるマッピングを作成します。この項では、ETL形式固有の手順のみを説明します。

  2. ソース表の論理スキーマまたは第3のスキーマに対するマッピングのステージング領域を変更します。ステージング領域の変更方法の詳細は、『Oracle Data Integrator開発者ガイド』の実行場所の構成に関する項を参照してください。

  3. 物理ダイアグラムでアクセス・ポイントを選択します。このオブジェクトのプロパティ・インスペクタが開きます。

  4. 「ロード・ナレッジ・モジュール」タブで、ソースからステージング領域にロードするLKMを選択します。使用できるLKMは表4-5を参照してください。

  5. 必要な場合は、KMオプションを変更します。

  6. 物理ダイアグラムでターゲットのタイトルをクリックしてターゲットを選択します。このオブジェクトのプロパティ・インスペクタが開きます。

    「統合ナレッジ・モジュール」で、ステージング領域からターゲットにデータをロードするETL複数接続IKMを選択します。使用できるIKMは表4-5を参照してください。

KMオプションを設定する際には、次の点に注意してください。

  • IKM SQL to SQL Incremental Updateに関する注意事項

    • ターゲット・システム上に表を作成しない場合は、FLOW_CONTROL=falseおよびFLOW_TABLE_LOCATION=STAGINGを設定します。

      ただし、この設定は行ごとの処理につながるため、パフォーマンスが著しく低下します。

    • FLOW_CONTROLまたはSTATIC_CONTROLオプションをtrueに設定した場合は、「チェック・ナレッジ・モジュール」タブでCKMを選択します。FLOW_CONTROLをtrueに設定した場合は、FLOW_TABLE_LOCATIONの値に関係なく、フロー表がターゲット上に作成されます。

    • FLOW_TABLE_LOCATIONオプションに指定できる値は次のとおりです。

      説明 コメント

      TARGET

      オブジェクトがターゲット上に作成されます。

      デフォルト値。

      STAGING

      オブジェクトはターゲット上ではなく、ステージング領域のみに作成されます。

      フロー制御では使用できません。行ごとの処理につながるため、パフォーマンスが損なわれます。

      NONE

      ステージング領域とターゲットのどちらにもオブジェクトは作成されません。

      フロー制御では使用できません。行ごとの処理につながるため、パフォーマンスが損なわれます。ジャーナル化されたデータソースの場合は、ソース・データを2回読み取る必要があります。


LKMおよび単一接続IKMの使用

専用の複数接続IKMがない場合は、標準のエクスポートLKMと標準の単一接続IKMを組み合せて使用します。エクスポートLKMは、ステージング領域からターゲットへフロー表をロードするために使用します。単一接続IKMは、データ・フローをターゲット表に統合するために使用します。

Oracle Data Integratorでは、ETL形式マッピングのソース、ステージング領域およびターゲットとして、任意のANSI SQL-92標準準拠テクノロジがサポートされています。

標準のLKMおよび単一接続IKMを組み合せて使用する状況の詳細は、表4-5を参照してください。

ETL形式マッピングでLKMおよび単一接続IKMを使用するには、次のようにします。

  1. 『Oracle Data Integrator開発者ガイド』のマッピングの作成に関する項に記載されている標準の手順で、ステージング領域およびターゲットがANSI SQL-92準拠であるマッピングを作成します。この項では、ETL形式固有の手順のみを説明します。

  2. ソース表の論理スキーマまたは第3のスキーマに対するマッピングのステージング領域を変更します。ステージング領域の変更方法の詳細は、『Oracle Data Integrator開発者ガイド』の実行場所の構成に関する項を参照してください。

  3. 物理ダイアグラムでアクセス・ポイントを選択します。このオブジェクトのプロパティ・インスペクタが開きます。

  4. 「ロード・ナレッジ・モジュール」タブで、ソースからステージング領域にロードするLKMを選択します。使用できるLKMは表4-5を参照してください。

  5. 必要な場合は、KMオプションを変更します。

  6. ステージング領域に対するアクセス・ポイントを選択します。このオブジェクトのプロパティ・インスペクタが開きます。

  7. 「ロード・ナレッジ・モジュール」タブで、ステージング領域からターゲットにロードするLKMを選択します。使用できるLKMは表4-5を参照してください。

  8. 必要な場合は、オプションを変更します。

  9. 「ターゲット」のタイトルをクリックしてターゲットを選択します。このオブジェクトのプロパティ・インスペクタが開きます。

  10. 「統合ナレッジ・モジュール」タブで、ターゲットを更新する標準単一接続IKMを選択します。使用できるIKMは表4-5を参照してください。

表4-5 ANSI SQL-92標準準拠テクノロジに基づくETL形式マッピングのKMガイドライン

ソース ステージング領域 ターゲット エクスポートLKM IKM KM戦略 コメント

ANSI SQL-92標準準拠

ANSI SQL-92標準準拠データベース

ANSI SQL-92標準準拠データベース

なし

IKM SQL to SQL Incremental Update

複数接続IKM

ターゲット側一時オブジェクトでの増分更新戦略が可能です。ターゲット・サーバーで一時オブジェクトを作成できない場合に、このKMを使用します。

アプリケーションの更新は、ソースからターゲットへ直接行われ、ターゲット上に一時オブジェクトは作成されません。フロー表がターゲットではなくステージング領域に作成される構成は、データ量が少ない場合のみ使用してください。

フロー制御および静的制御をサポートします。

ANSI SQL-92標準準拠

ANSI SQL-92標準準拠データベース

ANSI SQL-92標準準拠データベース

なし

IKM SQL to SQL Control Append

複数接続IKM

このKMは、制御追加を実行する場合に使用します。

フロー制御および静的制御をサポートします。

ANSI SQL-92標準準拠

ANSI SQL-92標準準拠データベース

ANSI SQL-92標準準拠データベース

ANSI SQL-92標準準拠テクノロジからANSI SQL-92標準準拠テクノロジへロードする任意の標準KM

IKM SQL Incremental Update

単一接続IKM

増分更新戦略が可能です。