5 汎用SQL
ノート:
これは汎用情報の章です。この章の情報は、ANSI SQL-92構文をサポートしているテクノロジ(Oracle、Microsoft SQL Server、Sybase ASE、IBM DB2、Teradata、PostgreSQL、MySQL、Derbyなど)に適用できます。
ANSI SQL-92準拠の一部のテクノロジについては、このガイドの別の章で説明しています。特定のテクノロジのODI最適化およびデータベース・ユーティリティの利用方法に関する具体的な情報は、専用のテクノロジ関連の章を参照してください。
この章の内容は次のとおりです。
5.1 概要
Oracle Data Integratorでは、ANSI SQL-92標準準拠のテクノロジがサポートされます。
5.1.1 概念
ANSI SQL-92標準準拠テクノロジで使用される概念と、Oracle Data Integratorの概念のマッピングでは、Oracle Data Integratorのデータ・サーバーは、データを表形式で格納して処理するデータ処理リソースに対応します。このリソースは、テクノロジに応じて、データベース、インスタンス、サーバーなどと呼ばれます。このリソース内で、1つの下位区分が、1つのOracle Data Integrator物理スキーマにマップされます。この下位区分は、スキーマ、データベース、カタログ、ライブラリなどと呼ばれます。1つのスキーマ内の関連する一連のオブジェクトが1つのデータ・モデルに対応し、各表、ビューまたはシノニムが、その属性、列および制約とともにODIデータストアとして表示されます。
5.1.2 ナレッジ・モジュール
Oracle Data Integratorには、ANSI SQL-92標準準拠テクノロジに格納されているデータを処理するための、幅広いナレッジ・モージュールが用意されています。表5-1にリストされているナレッジ・モジュールは、汎用SQLナレッジ・モジュールであり、最も一般的なANSI SQL-92標準準拠のデータベースに適用されます。
また、特定のユーティリティを利用するために、Oracle Data Integratorには一部の特定データベース専用のナレッジ・モジュールも用意されています。ローダーまたは外部表などの機能を使用するテクノロジ固有のKMは、対応するテクノロジの章にリストされています。
表5-1 汎用SQL KM
ナレッジ・モジュール | 説明 |
---|---|
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スクリプトを使用してデータベースから選択されたデータを読み取り、動的に作成されたターゲット一時表に結果を書き込みます。これは、ステージング領域からターゲットへデータをロードし、処理された各行の状態を示します。 次のオプションがロギング・メカニズムに使用されます。
大量のデータを扱う場合には、このナレッジ・モジュールはお薦めしません。バルク・ユーティリティ(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を使用してください。 |
5.2 インストールおよび構成
汎用SQLナレッジ・モジュールの使用を開始する前に、この項の情報を必ず読んでください。
5.2.1 システム要件および動作要件
インストールを実行する前に、システム要件および動作要件のドキュメントを読んで、使用する環境がインストールする製品の最低インストール要件を満たすことを確認する必要があります。
サポートされているプラットフォームおよびバージョンのリストには、次のOracle Technical Network (OTN)からアクセスできます。
http://www.oracle.com/technetwork/middleware/data-integrator/documentation/index.html。
5.2.2 テクノロジ固有の要件
詳細は、特定のテクノロジに関する章の「テクノロジ固有の要件」の項を参照してください。
使用するテクノロジ専用の章がこのガイドに含まれていない場合は、使用するテクノロジのドキュメントでテクノロジ固有の要件を確認してください。
5.3 トポロジの設定
トポロジの設定には次が含まれます。
5.3.1 データ・サーバーの作成
『Oracle Data Integratorの管理』のデータ・サーバーの作成に関する項に記載されている標準の手順で、「物理アーキテクチャ」アコーディオン内にリストされているANSI SQL-92準拠テクノロジの下に、データ・サーバーを作成します。
使用するテクノロジ専用の章がこのガイドに含まれている場合は、その章で詳細を確認してください。含まれていない場合は、そのテクノロジのドキュメントを参照してJDBCドライバ名およびJDBC URL書式を確認してください。
5.3.2 物理スキーマの作成
『Oracle Data Integratorの管理』の物理スキーマの作成に関する項の説明に従って、標準の手順を使用して物理スキーマを作成します。
使用するテクノロジ専用の章がこのガイドに含まれている場合は、その章で詳細を確認してください。
5.4 統合プロジェクトの設定
ANSI SQL-92準拠のデータベースを使用してプロジェクトを設定するには、標準の手順に従います。『Oracle Data Integratorでの統合プロジェクトの開発』の統合プロジェクトの作成に関する項を参照してください。
作業を開始するにあたって使用するプロジェクトにインポートする推奨のナレッジ・モジュールは、対応するテクノロジによって異なります。使用するテクノロジ専用の章がこのガイドに含まれている場合は、その章で詳細を確認してください。
5.5 モデルの作成およびリバースエンジニアリング
この項では、次の項目について説明します。
5.5.1 データ・モデルの作成
『Oracle Data Integratorでの統合プロジェクトの開発』のモデルの作成に関する項の説明に従って、標準の手順を使用してANSI SQL-92準拠テクノロジに基づくデータ・サーバーを作成します。
使用するテクノロジ専用の章がこのガイドに含まれている場合は、その章で詳細を確認してください。
5.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では、次のロギング・オプションが提供されます。
USE_LOG: リバース・エンジニアリングによってログ・ファイル内のログ詳細が処理されるように指定する場合は、Yesに設定します。
5.7 データ品質の設定
Oracle Data Integratorには、ANSI SQL-92準拠の表で定義された制約と照合してデータの整合性をチェックするためのCKM SQLが用意されています。『Oracle Data Integratorでの統合プロジェクトの開発』 のフロー制御および静的制御に関する項を参照してください。
5.8 マッピングの設計
ANSI SQL-92準拠テクノロジは、マッピングのソース、ステージング領域またはターゲットとして使用できます。また、ANSI SQL-92準拠テクノロジに基づくETL形式のマッピングを作成することもできます。
マッピングまたはチェック用に選択したKMによって、このマッピングまたはチェックの機能およびパフォーマンスが決まります。この項に示す推奨事項は、ANSI SQL-92準拠テクノロジに基づくデータ・サーバーに関連する様々な状況でのKMの選択に役立ちます。
5.8.1 ANSI SQL-92準拠テクノロジとの間でのデータのロード
マッピングのソース、ターゲットまたはステージング領域としてANSI SQL-92準拠テクノロジを使用できます。「ロード・ナレッジ・モジュール」タブでの、ANSI SQL-92準拠テクノロジと別のタイプのデータ・サーバー間でデータをロードするためのLKMの選択は、マッピングのパフォーマンスに関してきわめて重要です。
5.8.1.1 ANSI SQL-92準拠テクノロジからのデータのロード
表5-2にリストされている汎用KMでは、ANSI SQL-92準拠データベースからターゲットまたはステージング領域のデータベースへデータをロードするための方法が実装されます。これらのKM以外に、Oracle Data Integratorにはターゲットまたはステージング領域のデータベース固有のKMも用意されています。使用するテクノロジ専用の章がこのガイドに含まれている場合は、その章で詳細を確認してください。
表5-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。 |
5.8.1.2 ANSI SQL-92準拠テクノロジへのデータのロード
表5-3にリストされている汎用KMには、ソースまたはステージング領域からANSI SQL-92準拠データベースへデータをロードするための方法が実装されています。これらのKM以外に、Oracle Data Integratorにはソースまたはステージング領域のデータベース固有のKMも用意されています。使用するテクノロジ専用の章がこのガイドに含まれている場合は、その章で詳細を確認してください。
表5-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では行ごとのロギングが使用されます。 |
5.8.2 ANSI SQL-92準拠テクノロジでのデータの統合
ANSI SQL-92準拠テクノロジはマッピングのターゲットとして使用できます。「統合ナレッジ・モジュール」タブのIKMの選択によって、統合のパフォーマンスおよび可能性が決まります。
表5-4にリストされているKMには、ANSI SQL-92準拠のターゲットにデータを統合するための方法が実装されています。これらのKM以外に、Oracle Data Integratorにはソースまたはステージング領域のデータベース固有のKMも用意されています。詳細は、対応するテクノロジの章を参照してください。
表5-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 |
制御追加戦略にエージェントを使用します。フロー制御をサポートします。 |
5.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を使用する状況の詳細は、表5-5を参照してください。
ETL形式マッピングで複数接続IKMを使用するには:
-
『Oracle Data Integratorでの統合プロジェクトの開発』のマッピングの作成に関する項の説明に従って、標準の手順を使用して、ステージング領域およびターゲットがANSI SQL-92準拠であるマッピングを作成します。この項では、ETL形式固有のステップのみを説明します。
-
ソース表の論理スキーマまたは第3のスキーマに対するマッピングのステージング領域を変更します。ステージング領域の変更方法の詳細は、『Oracle Data Integratorでの統合プロジェクトの開発』の実行場所の構成に関する項を参照してください。
-
物理ダイアグラムでアクセス・ポイントを選択します。このオブジェクトのプロパティ・インスペクタが開きます。
-
「ロード・ナレッジ・モジュール」タブで、ソースからステージング領域にロードするLKMを選択します。使用できるLKMは表5-5を参照してください。
-
必要な場合は、KMオプションを変更します。
-
物理ダイアグラムでターゲットのタイトルをクリックしてターゲットを選択します。このオブジェクトのプロパティ・インスペクタが開きます。
「統合ナレッジ・モジュール」で、ステージング領域からターゲットにデータをロードするETL複数接続IKMを選択します。使用できるIKMは表5-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を組み合せて使用する状況の詳細は、表5-5を参照してください。
ETL形式マッピングでLKMおよび単一接続IKMを使用するには:
- 『Oracle Data Integratorでの統合プロジェクトの開発』のマッピングの作成に関する項の説明に従って、標準の手順を使用して、ステージング領域およびターゲットがANSI SQL-92準拠であるマッピングを作成します。この項では、ETL形式固有のステップのみを説明します。
- ソース表の論理スキーマまたは第3のスキーマに対するマッピングのステージング領域を変更します。ステージング領域の変更方法の詳細は、『Oracle Data Integratorでの統合プロジェクトの開発』の実行場所の構成に関する項を参照してください。
- 物理ダイアグラムでアクセス・ポイントを選択します。このオブジェクトのプロパティ・インスペクタが開きます。
- 「ロード・ナレッジ・モジュール」タブで、ソースからステージング領域にロードするLKMを選択します。使用できるLKMは表5-5を参照してください。
- 必要な場合は、KMオプションを変更します。
- ステージング領域に対するアクセス・ポイントを選択します。このオブジェクトのプロパティ・インスペクタが開きます。
- 「ロード・ナレッジ・モジュール」タブで、ステージング領域からターゲットにロードするLKMを選択します。使用できるLKMは表5-5を参照してください。
- 必要な場合は、オプションを変更します。
- 「ターゲット」のタイトルをクリックしてターゲットを選択します。このオブジェクトのプロパティ・インスペクタが開きます。
- 「統合ナレッジ・モジュール」タブで、ターゲットを更新する標準単一接続IKMを選択します。使用できるIKMは表5-5を参照してください。
表5-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 |
増分更新戦略が可能です。 |