ヘッダーをスキップ
Oracle® Warehouse Builderデータ・モデリング、ETLおよびデータ・クオリティ・ガイド
11gリリース2 (11.2)
B61350-02
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

24 マッピングおよびプロセス・フローのリファレンス

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

ETLオブジェクトの構成

設計フェーズの前半では、Oracle Warehouse Builderの設計オブジェクトを使用してターゲット・システムの論理モデルを定義しました。この章では、マッピングとプロセス・フローに物理プロパティを割り当てるためのリファレンス情報を提供します。構成パラメータは、ユーザー・インタフェースに表示される順序で示されています。

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

マッピング構成のリファレンス

マッピングを適切に構成すると、抽出、変換およびロード(ETL)のパフォーマンスを向上させることができます。そのためには、この項を参考にして、データのロード方法とコードの最適化方法を制御する構成パラメータを設定します。

マッピングの構成パラメータは、次のカテゴリに分類されています。

これらのパラメータの他に、「ソースとターゲットの参照」の説明に従ってソース演算子およびターゲット演算子を構成できます。その他にも「コード・テンプレート(CT)マッピングを含むマッピングの構成」の説明に従ってCTマッピングに対して構成できるパラメータがあります。

ランタイム・パラメータ

マッピングのランタイム・パラメータの構成時に、マッピングのデフォルト動作を設定します。これらのパラメータは、コントロール・センター、プロセス・フロー・エディタまたはOracle Enterprise Managerでマッピングを実行する際に上書きできます。

「ランタイム・パラメータ」には、次のパラメータがあります。

表分析のサンプリング率

「表分析文」オプションを選択すると、Oracle Warehouse Builderではターゲット表の統計の収集時期が予想されます。データがターゲット表にロードされた後、各ターゲット表についてコストベース最適化に使用された統計が収集されます。このパラメータは、各ターゲット表でこの分析に使用された行の割合に設定できます。

バルク・サイズ

「バルク・サイズ」を使用して、PL/SQLバルク処理の各バルクの行数を指定します。Oracle Warehouse Builderで「バルク・サイズ」パラメータが使用されるのは、「バルク処理コード」オプションを選択し、オペレーティング・モードを「行ベース」に設定している場合のみです。詳細は、Oracle PL/SQLリファレンス・ガイドを参照してください。

チャンク実行再開タスク

このパラメータはパラレル・チャンク化タスクを再開するかどうかを指定します。新しいパラレル・チャンク化タスクを実行するには、「False」を選択します。パラレル・チャンク化タスクを再開するには、「True」を選択します。実行時に、「入力パラメータ」ダイアログ・ボックスを使用してこのパラメータに設定した値を上書きできます。

チャンク適用の再開

このパラメータは、パラレル・チャンク化タスクがエラーによって停止されていた場合、このタスクを再開するかどうかを指定します。このパラメータを「True」に設定すると、Oracle Warehouse Builderでパラレル・チャンク化タスクを再開します。実行時に、「入力パラメータ」ダイアログ・ボックスを使用してこのパラメータに設定した値を上書きできます。

チャンクの再試行回数

このパラメータでは、失敗したパラレル・チャンク化タスクの再開の試行回数を指定します。試行回数を指定する数値を入力します。実行時に、「入力パラメータ」ダイアログ・ボックスを使用してこのパラメータに設定した値を上書きできます。

チャンク・パラレル・レベル

このパラメータでは、チャンクのパラレル処理に使用する必要のあるスレッド数を指定します。このパラメータの数値を入力します。このパラメータをNULLまたはゼロに設定するとマッピングが連続して実行されます。

実行時に、「入力パラメータ」ダイアログ・ボックスを使用してこのパラメータに設定した値を上書きできます。

コミット頻度

コミット頻度は、非バルク・モードのマッピングにのみ適用されます。バルク・モードのマッピングは、バルク・サイズに従ってコミットされます。

「デフォルト・オペレーティング・モード」を「行ベース」に設定し、「バルク処理コード」の選択を解除した場合には、「コミット頻度」パラメータを使用して、コミット操作前に処理する行数を指定します。このパラメータで指定した行数を処理すると、Oracle Warehouse Builderがデータをデータベースにコミットします。

「バルク処理コード」オプションを選択した場合は、「コミット頻度」を「バルク・サイズ」と同じ値に設定します。2つの値が異なる場合は、「バルク・サイズ」が「コミット頻度」に優先し、コミット操作はバルク・サイズごとに暗黙的に実行されます。

デフォルト監査レベル

「デフォルト監査レベル」を使用して、パッケージの実行時に使用する監査レベルを指定します。監査レベルは、パッケージの実行時にランタイム・スキーマ内で取得される監査情報の量を示します。監査レベルの設定は、次のとおりです。

  • なし: 実行時に監査情報は記録されません。

  • 統計: 実行時に統計監査情報が記録されます。

  • エラーの詳細: 実行時にエラー情報と統計監査情報が記録されます。

  • 完了: 実行時にすべての監査情報が記録されます。監査レベルを「完了」に設定してマッピングを実行すると、大量の診断データが生成され、割当済の表領域がすぐにいっぱいになってしまう可能性があります。

デフォルト・オペレーティング・モード

PL/SQL実装を使用したマッピングについて、デフォルト・オペレーティング・モードを選択します。選択したオペレーティング・モードは、マッピングのパフォーマンスに大きく影響する可能性があります。オペレーティング・モードがパフォーマンスに及ぼす影響の詳細は、「セット・ベースと行ベースのオペレーティング・モードの比較」を参照してください。次のオペレーティング・モードから1つ選択できます。

  • セット・ベース: すべてのデータを挿入し、そのデータに対してすべての操作を実行するSQL文が1つ生成されます。これにより、データ操作言語(DML)操作が高速になります。セット・ベース・モードは最適なパフォーマンスを提供しますが、生成される監査詳細は最小限となります。

  • 行ベース: データを1行ずつ処理する文が生成されます。SELECT文はSQLカーソルです。以降の文はすべてPL/SQLです。データが1行ずつ処理されるため、行ベースのオペレーティング・モードではパフォーマンスが最低ですが、監査は最も詳細になります。

  • 行ベース(ターゲットのみ): CURSOR SELECT文が生成され、カーソルにできるかぎり多数の操作が追加されます。ターゲットごとにPL/SQL INSERT文が生成され、各行がターゲットに個別に挿入されます。

  • セット・ベースから行ベースへのフェイルオーバー: マッピングがセット・ベース・モードで実行されます。エラーが発生すると実行に失敗し、マッピングが行ベース・モードで再開されます。このモードはテスト環境で使用する場合にのみお薦めします。本番環境での使用はお薦めしません。

  • セット・ベースから行ベース(ターゲットのみ)へのフェイルオーバー: 最初にセット・ベース・モードでマッピングが実行されます。エラーが発生すると、実行が行ベース(ターゲットのみ)モードにフェイルオーバーします。このモードはテスト環境で使用する場合にのみお薦めします。本番環境での使用はお薦めしません。


注意:

リリース11.2.0.3以降は、セット・ベースから行ベースへのフェイルオーバー機能は非推奨です。

デフォルト・パージ・グループ

「デフォルト・パージ・グループ」はパッケージの実行時に使用されます。ランタイム・スキーマ内の各監査レコードは、指定したパージ・グループに割り当てられます。

エラーの最大数

「エラーの最大数」を使用して、パッケージの実行時の最大許容エラー数を指定します。パッケージの実行は、エラー数が指定の値を超えた時点で終了します。

「エラーの最大数」パラメータは実行するマッピング全体のエラー数に適用します。次の場合について検討します。

  • エラーの最大数が50に設定され、マッピングがセット・ベース・モードで実行されます。データは正常にロードされませんでした。セット・ベースのロードDML文の失敗からエラーが1つ発生しました。マッピングのリターン・ステータスは警告です。

  • エラーの最大数が50に設定され、マッピングがセット・ベース・モードで実行され、「制約の有効化」パラメータは「False」に設定されます。データは正常にロードされましたが、制約を再有効化するときに60の制約違反エラーが発生しました。マッピングのリターン・ステータスはエラーです。

  • エラーの最大数が50に設定され、マッピングが行ベース・モードで実行されます。データの一部は正常にロードされましたが、多くのエラーが発生しました。マッピングはエラーが50回目に達した後終了します。マッピングのリターン・ステータスはエラーです。

  • エラーの最大数が50に設定され、セット・ベースから行ベースへのフェイルオーバー・モードでマッピングが実行されます。セット・ベース・モードでデータが正しくロードされませんでした。セット・ベースのロードDML文の失敗からエラーが1つ発生しました。データの一部は行ベース・モードで正常にロードされましたが、多くのエラーが発生しました。セット・ベース・モードでカウントされたエラーが1つあるため、マッピングは行ベース・モードでエラーが49回目に達した後終了します。マッピングのリターン・ステータスはエラーです。

チャンクを処理するスレッドの数

「チャンクを処理するスレッドの数」パラメータはソース・データの処理に使用するスレッド数を表します。このパラメータをゼロに設定するとマッピングがパラレルで実行されないことを意味します。

コード生成オプション

「コード生成オプション」には、次のオプションがあります。

ANSI SQL構文

このオプションを選択すると、ANSI SQL構文が生成されます。このオプションを選択しなければ、Oracle SQL構文が生成されます。

コミット制御

自動: これはデフォルト設定です。Oracle Warehouse Builderでは、マッピング設計に基づいてデータがロードされ、自動的にコミットされます。この設定は、すべてのマッピング・タイプに有効です。1つのマッピングに複数のターゲットが存在する場合、データはターゲット単位の処理(INSERT、UPDATE、DELETE)に基づいてコミットされます。

自動相関: 自動相関コミットは特殊なタイプの自動コミットであり、複数のターゲットを持つPL/SQLマッピングにのみ適用されます。Oracle Warehouse Builderでは、すべてのターゲットが集合的に考慮され、データはすべてのターゲット間で均一にコミットまたはロールバックされます。

マッピング動作は、選択したオペレーティング・モードに応じて異なります。自動相関コミットの詳細は、「単一のソースから複数ターゲットへのデータのコミット」を参照してください。

手動: 手動コミット制御を選択するのは、複雑なビジネス・ロジックを示したりデータのコミット前に検証を実行する必要のあるPL/SQLマッピングの場合です。

手動コミットの指定には、次のオプションが用意されています。

コミットなし: このオプションを設定すると、Oracle Warehouse Builderマッピングはマッピングの実行中にコミットを発行しません。

表分析文

このオプションを選択すると、ロード後のターゲット表が元のサイズの2倍または半分の場合に、ターゲットのロード後にターゲット表を分析するためのコードが生成されます。

ターゲット表がマッピングと同じスキーマにない場合に、その表を分析するには、マッピングを所有するスキーマにANALYZE ANYを付与する必要があります。

パラレルDMLの有効化

このオプションを選択すると、実行時にパラレルDMLが有効化されます。DML文をパラレルに実行することで、データ・ウェアハウスに存在する大規模データベースにおけるデータ集中型操作のレスポンス時間が短縮されます。

最適化コード

このオプションを選択すると、スプリッタ演算子が含まれていて複数のターゲット表に挿入するマッピングのパフォーマンスが向上します。このオプションを選択してOracle9i以降でマッピングを実行すると、SQL文が1つ(multi_table_insert)生成されます。このSQL文は、同一のソース・データ・セットに基づいてデータを複数の表に挿入します。

複数表挿入が実行されるのは、このオプションが選択されていて、Oracleターゲット・モジュール・データベースがOracle9i以降の場合のみです。スプリッタ演算子が含まれていて、スプリッタとターゲットの間にアグリゲータ演算子やジョイナ演算子などのアクティブな演算子が存在しないセット・ベース・モードのマッピングに対してのみ、複数表挿入が実行されます。また、複数挿入は、表に対してのみ使用できます。ビュー、マテリアライズド・ビュー、ディメンションまたはキューブには使用できません。各ターゲット表の列数は999より少なくなるようにする必要があります。複数のターゲットを使用するマッピングの作成手順の詳細は、「例: 複数のターゲットを使用するマッピングの作成」を参照してください。

行ベース・モードで実行されるマッピングまたはOracle8iサーバーで実行されるマッピングに対してこのオプションは選択しません。また、個別のターゲットの監査情報が要求された場合もこのオプションを選択しません。

このオプションを選択した場合、すべてのターゲットについてSELECTとINSERTの合計カウントが1つ戻されます。

AUTHID

コードの生成時に使用するAUTHIDオプションを指定します。オプションは「Current_User」、「Definer」または「None」のいずれかを選択できます。

ターゲット・ロード順序付けを使用

複数のターゲットを持つPL/SQLマッピングの場合は、ターゲットのロード順序を定義するコードを生成できます。この順序は、マッピングの複数のターゲット間に親子関係が存在する場合に重要になります。このオプションはデフォルトで選択されます。

エラー・トリガー

このフィールドで、エラー・トリガー・プロシージャの名前を指定します。

バルク処理コード

この構成パラメータを選択し、オペレーティング・モードを「行ベース」に設定すると、Oracle Warehouse BuilderでPL/SQLバルク処理コードが生成されます。PL/SQLバルク処理では、行を1行ずつではなくバルク単位で収集、処理して書き込むことにより、行ベースETLのパフォーマンスが向上します。各バルクのサイズは、構成パラメータ「バルク・サイズ」により決定されます。最適なパフォーマンスが得られるのはセット・ベース・モードで、続いてバルク処理、最後が行ベース・モードです。詳細は、『Oracle PL/SQLリファレンス・ガイド』を参照してください。

生成モード

デフォルトでは、マッピング用のコードの生成時に、可能な全オペレーティング・モードのためのコードが生成されます。つまり、「生成モード」が「すべてのオペレーティング・モード」に設定されている場合は、「デフォルト・オペレーティング・モード」「セット・ベース」に設定しても、可能な全オペレーティング・モードのためのコードが生成されます。これにより、実行時にテストの目的でオペレーティング・モードを切り替えることができます。

チャンク化オプション

チャンク・オプション・セクションのパラメータでは、PL/SQLマッピング用のパラレル・チャンクを構成できます。

チャンク・オプションの詳細ノードを展開して、次のパラレル・チャンク・オプションを指定します。

チャンク化の方法

このパラメータを使用して、パラレル・チャンク化に使用する方法を選択します。このパラメータに設定できるオプションは、次のとおりです。

  • なし: パラレル・チャンク化を実行しません。

  • NUMBER列でチャンク化: ソース・データの数値列をチャンクに分割するベースとして使用します。このオプションを選択すると、「NUMBER列でチャンク化」ノード下にリストされているパラメータを設定する必要があります。

  • ROWIDでチャンク化: ソース・データの列のROWIDに応じてソース行をチャンクに分割します。このオプションを選択すると、「ROWIDでチャンク化」ノードの下にリストされているパラメータを設定する必要があります。

  • SQL文でチャンク化: SQL文を使用してソース・データをチャンクに分割します。このオプションを選択すると、「SQL文でチャンク化」ノードの下にリストされているパラメータを設定する必要があります。

チャンク表

チャンク表を使用して、パラレル・データ・チャンク化を実行するソース表を選択します。

チャンク列

ソース表の数値列を使用してパラレルちゃんかを実行する場合は「チャンク列」パラメータを適用できます。このパラメータを使用して、パラレル・チャンク化を実行する際に基づくソース列を選択します。

チャンク・サイズ

「チャンク・サイズ」を使用して、各チャンクの範囲を指定します。

チャンク・タイプ

チャンク・タイプを使用して、ソース・データをソース列のROWIDに基づいてチャンクに分割する方法を分割します。選択できるオプションは「データ・ブロック別」および「行別」です。

SQL文

ソース・データをより小さなチャンクに分割するうえで使用する「SQL文」を指定します。

SQL文のチャンク・タイプ

このパラメータでは、「SQL文」を使用して指定するSQL文でソース・データをチャンクに分割する方法を指定します。次のいずれかのオプションを選択します。

  • NUMBER_COLUMN: ソース・データの数値列を使用してデータをチャンクに分割します。

  • ROWID: データを列のROWIDを使用してチャンクに分割します。

SCDの更新

「SCDの更新」セクションのパラメータでは、PL/SQLマッピング用のシリアル・チャンク化を構成できます。「SCDの更新」オプションには「チャンク化方針」というパラメータがあります。

チャンク化方針

「チャンク化方針」パラメータを使用するとシリアル・チャンク化を実行できます。「シリアル」を選択すると、ソース・データに対するシリアル・チャンク化を実行できます。PL/SQLマッピングのシリアル・チャンク化を無効にするには、「なし」を選択します。

ソースとターゲットのリファレンス

表、ビューおよびキューブなど、リレーショナルおよびディメンショナルなソースとターゲットの場合、Oracle Warehouse Builderでは演算子ごとに次の一連のプロパティが表示されます。

LCR APIを使用

デフォルトではこの設定が有効になっており、LCR APIが使用可能な場合はLCR APIを使用してDMLが実行されます。LCR APIが使用できない場合は、標準的なDMLが使用されます。

データベース・リンク

このパラメータは、下位互換性のためにのみ維持されています。

以前のリリースでは、データベース・リンクをリストから名前で選択できました。スキーマとデータベース・リンクについてソース演算子は構成できましたが、ターゲットを構成できるのはスキーマの場合のみです。ソースとターゲットを異なるスキーマに配置できますが、両者は同じデータベース・インスタンスに存在する必要があります。

ロケーション

この設定では、ソース演算子またはターゲット演算子へのアクセスに使用するロケーションを指定します。

競合解決

この設定を有効化すると、LCR APIを使用したDML操作中に生じる可能性のある競合を検出して解決できます。

スキーマ

このパラメータは、下位互換性のためにのみ維持されています。

以前のリリースでは、「スキーマ」フィールドをクリックして名前を入力すると、マッピングを特定のスキーマにリンクできました。

パーティション交換ロード

このセクションの設定を使用して、ターゲット表へのパーティション交換ロード(PEL)を有効化します。それぞれの設定に固有の情報と、PEL用のマッピングの設計方針は、「パーティション交換ロードを使用したパフォーマンスの向上」を参照してください。

ヒント

ロードまたは抽出のヒントを定義します。アプリケーション開発者は、データを処理する方法を絶えず発展させていくものです。たとえば、開発者は、一連の表をどのような順序で結合すると問合せの実行速度が大幅に向上するかを把握しています。Oracle Warehouse Builderでは、このような処理方法を、生成済SQLコードのパッケージにSQLオプティマイザ・ヒントとして組み込むことができます。

「ヒント」ダイアログ・ボックスからヒントを選択する場合、ヒントは「既存のヒント」フィールドに表示されます。付加テキスト列に適切な付加テキストを入力します。エディタによってマッピング定義にヒントがそのまま追加されます。このテキストの検証やチェックは行われません。

INSERTまたはUPDATEモードでデータをロードするマッピングに対して、ロードのヒントを定義できます。デフォルトでは、APPENDやPARALLELなどの一般に使用されるヒントが追加されます。INSERTを除くすべてのロード・モードでは、APPENDヒントは効果がないため、削除することも可能です。

ヒントはマッピング構成時に表示できます。ヒントを構成する手順は次のとおりです。

  1. プロジェクト・ナビゲータで、「データベース」フォルダ、続いて必要なモジュールを開きます。

  2. モジュールで、「マッピング」ノードを開きます。

  3. 必要なマッピングを右クリックして、「構成」を選択します。

    「構成」タブにマッピングの構成パラメータが表示されます。

  4. 「構成」タブで、必要な演算子タイプ、次に必要な演算子を開きます。

  5. ヒント・ノードを展開し、ヒント・タイプの右にある省略記号ボタンをクリックしてヒントを入力します。

オプティマイザ・ヒントとその使用方法の詳細は、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。

制約管理

次の制約管理パラメータを構成します。

  • 例外表名: 再有効化中に外部キー制約に違反したすべての行が、指定の例外表に記録されます。ロード前後には、この表の自動切捨ては実行されません。制約違反はランタイム監査エラー表にもロードされます。

    SQLおよびPL/SQLロードの場合、例外表を指定しなければ、無効な行はデフォルト表領域にある一時表にロードされてから、ランタイム監査エラー表にロードされます。表はロード後に削除されます。

    SQL*Loaderのダイレクト・パス・ロードを使用している場合は、例外表を指定する必要があります。詳細は、SQL*Loaderのマニュアルを参照してください。

  • 制約の有効化: このオプションを「False」に設定すると、ターゲット表の制約を無効化し、データをロードし、制約を再有効化します。再度有効化する間に見つかった制約違反はランタイム監査エラー表で識別され、指定した場合は例外表にロードされます。このオプションを「True」に設定すると、Oracle Warehouse Builderは制約を管理せず、ソースのデータをターゲット表にロードします。

    制約を無効化すると、制約チェックが実行されないためロード速度が向上します。ただし、再有効化中にいずれかの行で例外が発生すると、その行に対する制約は未検証状態のままになります。この種の行は、そのROWIDを使用してランタイム監査エラー表に記録されます。エラー行を手動で検査し、必要な訂正処理を行う必要があります。

    制約の有効化および無効化はターゲット表に対して行われます。「制約の有効化」パラメータを「True」に設定すると、ターゲット表の制約はデータをロードする前に無効化され、データをロードした後に再有効化されます。制約が再有効化されると、表全体がスキャンされ、制約に違反する行が例外表に記録されます。これらの行は監査ブラウザに制約違反エラーとしてレポートされます。

    ターゲット表が空で、「制約の有効化」パラメータが「True」に設定されているシナリオについて考えます。最初に、ソース表には10行あり、そのうち2行がターゲット表の制約に違反しているとします。マッピングを実行すると、まずターゲット表の制約が無効化されます。次に、データ(10行すべて)がロードされてからターゲット表の制約が再有効化されます。制約が再有効化されると、制約に違反する2行が例外表に記録されます。監査ブラウザによって、2つの制約違反エラーがあることがレポートされます。

    その後、ターゲット表の制約に違反する5行を含む20行から構成される新規ソース表を使用して、マッピングが再度実行されます。データ(20行すべて)がターゲット表にロードされると、ターゲット表は30行になります。ターゲット表の制約が再有効化されると、7行が例外表に記録されて制約違反エラーとして監査ブラウザでレポートされます。この7行は、新規にレポートされた5行と、最初にレポートされた2行から構成されます。これは、Oracle Warehouse Builderがターゲット表全体をスキャンするためです。30行すべてがチェックされるため、最初のデータ・ロードの違反ありの2行も含まれます。Oracle Warehouse Builderでは、マッピングが2回目に実行されたときに追加された新規の行のみの識別はできません。したがって、データをロードするたびに事前にターゲット表を切り捨てないかぎり、以前のデータ・ロードの制約違反が必ず毎回レポートされます。

    「制約の有効化」を「True」に設定するには、次の制限を伴います。

    • 「セット・ベース」オペレーティング・モードの場合、ターゲットの外部キー制約がロード前に無効化され、ロード後に再有効化されます。このパラメータは、ターゲット表を参照する他の表の外部キー制約には影響しません。ロードにSQLまたはPL/SQLパッケージではなくSQL*Loaderが使用される場合は、.ctlファイルに再有効化句が追加されます。

    • オペレーティング・モードが「セット・ベースから行ベースへのフェイルオーバー」および「セット・ベースから行ベース(ターゲットのみ)へのフェイルオーバー」の場合、選択解除に設定すると、ターゲットの外部キー制約がロード前に無効化され、セット・ベース・モードによるロードに成功した場合は再有効化されます。この設定は、他の表を参照している外部キーには影響しません。ロードが行ベースにフェイルオーバーした場合は、行ベース・モードでロードが繰り返され、すべての制約は有効化されたままになります。


      注意:

      再有効化中に制約違反が作成されると、ロードはセット・ベース・モードから行ベース・モードにフェイルオーバーしません。

    • 「行ベース」または「行ベース(ターゲットのみ)」オペレーティング・モードの場合は、このオプションが選択されなくても、すべての外部キー制約は有効化されたままです。

    • TRUNCATE/INSERT DMLタイプの場合は、選択解除に設定すると、デフォルト・オペレーティング・モードに関係なく、ターゲット表を参照する他の表の外部キー制約がロード前に無効化されてロード後に再有効化されます。

SQL*Loaderパラメータ

フラット・ファイルからの入力を含む表演算子を使用する場合は、次の「SQL*Loaderパラメータ」プロパティを構成する必要があります。

  • パーティション名: ロードがパーティション・レベルであることを示します。パーティション・レベル・ロードでは、表で指定した1つ以上のパーティションまたはサブパーティションをロードできます。完全データベース、ユーザーおよびトランスポータブル表領域の各モードによるロードでは、パーティション・レベル・ロードはサポートされていません。増分ロード(増分、累積および完了)を実行できるのは完全データベース・モードの場合のみで、増分ロードにパーティション・レベル・ロードは指定できません。どのモードでも、パーティション化されたデータは、パーティションまたはサブパーティションを選択的にロードできるような形式でロードされます。

  • ソート済索引句: データの事前ソートに使用される索引を識別します。この句を使用できるのは、ダイレクト・パス・ロードの場合のみです。ある索引用にソートされたデータの順序は、通常、他の索引には適切でないため、SORTED INDEXES句には索引を1つのみ指定します。複数の索引でデータが同じ順序の場合は、すべての索引を指定できます。SORTED INDEXES句にリストされた索引はすべて、ダイレクト・パス・ロードの開始前に作成しておく必要があります。

  • 単一行: システムのメモリーに制限がある場合や、大きい表に少数のレコードをロードする場合に、ダイレクト・パス・ロード中にAPPENDとともに使用することを意図しています。このオプションを使用すると、各索引エントリが、一度に1レコードずつ直接索引に挿入されます。表に行を追加(APPEND)する場合、デフォルトではSINGLEROWは使用されません。索引エントリは一時領域に格納され、ロード後に元の索引とマージされます。この方法ではパフォーマンスが向上して最適な索引が生成されますが、余分な記憶域が必要になります。マージ中には、元の索引、新規の索引、新規エントリ用の領域が、すべて同時に記憶域を使用します。SINGLEROWオプションを使用すると、新規索引エントリや新規索引のための記憶域を必要としません。生成後の索引は新規にソートした索引ほど最適でない可能性はありますが、生成に使用される領域は少なくなります。また、索引の挿入ごとにUNDO情報が追加生成されるため、所要時間も長くなります。このオプションは、使用可能な記憶域が制限されている場合に推奨されます。また、ロードされる行数が表のサイズに比べて小さい場合にも推奨されます。比率が1:20以下であれば小さいと考えられます。

  • 後続NULL列: SQL*Loaderを、レコードに存在せずに相対位置を持つ列をNULL列として処理するように設定します。

  • スキップ対象レコード: SQL*LoaderでSKIPコマンドを起動します。SKIPでは、ファイルの先頭を基準にしてロード対象外となる論理レコードの数を指定します。デフォルトでは、レコードはスキップされません。SKIPを指定すると、なんらかの理由で中断されたロードが継続されます。これは、すべての従来型パスによるロード、単一表のダイレクト・ロード、各表にロードされるレコード数が同一の場合の複数表のダイレクト・ロードに使用されます。各表にロードされるレコード数が異なる場合、複数表のダイレクト・ロードには使用されません。

  • データベース・ファイル名: インポートするエクスポート・ファイルの名前を指定します。デフォルト拡張子は.dmpです。複数のエクスポート・ファイルをエクスポートできるため、インポート対象ファイル名の複数指定が必要になることがあります。インポートされたファイルへの読取りアクセス権限が必要です。また、IMP_FULL_DATABASEロールも必要です。

コード・テンプレート(CT)マッピングを含むマッピングの構成

コード・テンプレート(CT)マッピングの構成パラメータはPL/SQLマッピングのパラメータに似ています。ただし、CTマッピングでは、これらのオプションはPL/SQLマッピングにのみ適用されるため、ノードのSCD更新およびチャンク化オプションは表示されません。

CTマッピング用の囲み文字の使用および「ソース・ファイル演算子」という追加パラメータを設定できます。これらのパラメータはマッピングの「構成」タブに表示されます。

囲み文字の使用

CTマッピングの生成済コードでSQL識別子を囲むには、このパラメータを選択します。Oracle Warehouse Builderでは、異機種間データベース・システム間でのCTマッピングの区切り識別子をサポートします。

たとえば、囲み文字の使用パラメータが選択されており、囲み文字が大カッコに設定されている場合、生成されるSQL文は次のようになります。

SELECT [My Empno], [My Emp Name] FROM [My Employees]

デフォルトでは、Oracle Database、IBM DB2 UDB、SQL Serverで使用される囲み文字は二重引用符です。OMB*Plusを使用してプラットフォームごとに必要とされる囲み文字を設定できます。たとえば、SQL Serverプラットフォームの囲み文字を大カッコに変更するには、次のOMB*Plusコマンドを使用します。

OMBALTER PLATFORM 'SQLSERVER' SET PROPERTIES (ENCLOSURE_CHAR) VALUES ('/[/]');

正しく機能させるために囲み文字の使用パラメータを使用しているCTマッピングでは、作成する新しいプラットフォームすべてに正しい囲み文字を設定する必要があります。たとえば、MySQLデータベースを参照するMYSQLという新しいプラットフォームを作成するとします。CTマッピングでMySQLデータベースの表を使用しており、二重引用符を囲み文字として使用してコードを生成する必要があります。CTマッピングでコードを生成する前に、次の文を使用して、MYSQLプラットフォームの囲み文字を設定する必要があります。

OMBALTER PLATFORM 'MYSQL' SET PROPERTIES (ENCLOSURE_CHAR) VALUES ('"')


注意:

囲み文字の使用パラメータはフラット・ファイル演算子を含むCTマッピングではサポートされていません。

SQL*Loaderデータファイル

「ソース・ファイル演算子」パラメータを設定するには、「SQL*Loaderデータファイル」セクションを使用します。1つ以上のフラット・ファイル演算子を含むCTマッピングでは、関連付けられているデータ・ファイルのパラメータを設定できます。

ソース・ファイル演算子

現在のデータ・ファイルを関連付ける必要のあるフラット・ファイル演算子を指定するにはこのプロパティを使用します。

CTマッピングに含まれるフラット・ファイル演算子が1つのみの場合、「ソース・ファイル演算子」パラメータの設定は任意になります。ただし、CTマッピングに含まれるフラット・ファイル演算子が複数の場合は、このパラメータを設定する必要があります。このパラメータでは、Oracle Warehouse Builderがデータ・ファイルとフラット・ファイル演算子との間の関係を理解できます。

このプロパティは、Oracle Warehouse Builder 11gリリース2(11.2.0.2)から使用できます。

フラット・ファイル演算子の構成

フラット・ファイル演算子の「構成」タブには、マッピングでの演算子の使用方法によっては、フラット・ファイル演算子に関する追加設定が表示されます。

ターゲットとしてのフラット・ファイル演算子

フラット・ファイルをターゲットとして使用するマッピングに固有のプロパティを構成する手順は、次のとおりです。

  1. プロジェクト・ナビゲータでマッピングを選択し、メニュー・バーから「設計」「構成」を選択します。

    または、構成するマッピングを右クリックして、「構成」を選択します。

    マッピングの「構成」タブが表示されます。

  2. 構成するパラメータを選択し、パラメータ名の右側の空白をクリックしてパラメータ値を編集します。

    パラメータごとに、リストからオプションを選択するか、値を入力するかまたは省略記号ボタンをクリックして別の「プロパティ」ダイアログ・ボックスを表示できます。

  3. 「デプロイ可能」オプションを選択し、デプロイ可能としてマークされたマッピング・オブジェクトについて一連のスクリプトを生成します。このオプションを選択していないマッピングの場合、スクリプトは生成されません。

  4. 「言語」を、選択したマッピング用に生成するコードのタイプに設定します。選択できるオプションは、マッピングにおける演算子の設計と使用に応じて異なります。マッピングに応じて、「PL/SQL」、「ABAP」(SAPソース・マッピングの場合)または「SQL*Loader」から選択できます。

  5. マッピングのデプロイ先ロケーションを指定します。

  6. 「ランタイム・パラメータ」で、「デフォルト・オペレーティング・モード」「行ベース(ターゲットのみ)」に設定します。このタイプのマッピングの場合、他のデフォルト・オペレーティング・モードではコードが生成されません。各ランタイム・パラメータの詳細は、「ランタイム・パラメータ」を参照してください。

  7. 「コード生成オプション」の説明に従って「コード生成オプション」を設定します。

  8. 「ソースとターゲットの参照」の説明に従って「ソースとターゲットの参照」を設定します。

  9. 「アクセス指定」では、「ターゲット・データファイル名」にフラット・ファイル・ターゲットの名前を指定します。「ターゲット・データファイルのロケーション」では、ランタイム・プラットフォームがインストールされているコンピュータにあるターゲット・ファイルを指定します。出力をxmlファイルにする場合は、「XMLファイルとして出力」を選択します。

ソースとしてのフラット・ファイル演算子

フラット・ファイル演算子をソースとして使用するマッピングを構成する手順は、次のとおりです。

  1. プロジェクト・ナビゲータでマッピングを選択し、メニュー・バーから「設計」「構成」を選択します。または、構成するマッピングを右クリックし、「構成」を選択します。

  2. 構成するパラメータを選択し、パラメータ名の右側の空白をクリックしてパラメータ値を編集します。

    各パラメータについて、選択するかどうかを指定するか、リストからオプションを選択するか、値を入力するか、省略記号ボタンをクリックして他の「プロパティ」ダイアログ・ボックスを表示できます。

  3. SQL*Loaderスクリプトが生成されるように「デプロイ可能」オプションを選択します。

  4. 「ログ・ファイルのロケーション」「ログ・ファイル名」を指定します。

  5. 「ロード継続」を選択します。

    SQL*Loaderによりデータ行または索引エントリのための領域がすべて使用されてしまうと、ロードが中断されます。「ロード継続」オプションが選択されている場合は、中断したロードの継続が試行されます。

  6. 「NLSキャラクタ・セット」で、CHARACTERSET句に置くキャラクタ・セットを指定します。

  7. 「ダイレクト・モード」を選択して、ダイレクト・パス・ロードが実行されるように指定します。このオプションを選択しなければ、従来型パスによるロードが実行されます。通常はダイレクト・モードの方が高速です。

  8. 「リカバリ可能操作」を選択してロードがリカバリ可能になるように指定します。このオプションを選択しなければ、ロードはリカバリ不可能になり、レコードはREDOログに記録されません。

  9. フラット・ファイル・ソースを使用したマッピング用に生成されるSQL*LoaderスクリプトのOPTIONS句に影響する次のパラメータを構成します。

    パラレル・ロードの実行: このオプションを選択すると、ダイレクト・ロードを複数のコンカレント・セッションで実行できます。

    エラー許可: 0(ゼロ)より大きい値を指定すると、ERRORS = nオプションが生成されます。SQL*Loaderは、このエラー上限に達した後の最初の一致ポイントでロードを終了します。

    スキップ対象レコード: 0より大きい値を指定すると、SKIP = nオプションが生成されます。この値は、ファイルの先頭を基準としてロード対象外のレコード数を示します。値を指定しなければ、レコードはスキップされません。

    ロード対象レコード: 0より大きい値を指定すると、LOAD = nオプションが生成されます。この値は、ロード対象の最大レコード数を示します。値を指定しなければ、すべてのレコードがロードされます。

    コミットごとの行: 0より大きい値を指定すると、ROWS = nオプションが生成されます。ダイレクト・パス・ロードの場合、この値はデータの保存前にソースから読み取る行数を識別します。従来型パスによるロードの場合は、バインド配列の行数を指定します。

    読取りサイズ: 0より大きい値を指定すると、READSIZE = nオプションが生成されます。この値は、読取りバッファのサイズ指定に使用されます。

    バインド・サイズ: 0より大きい値を指定すると、BINDSIZE = nオプションが生成されます。この値は、バインド配列の最大バイト数を示します。

    読取りバッファ: 0より大きい値を指定すると、READBUFFERS n句が生成されます。READBUFFERSでは、ダイレクト・パス・ロード中に使用するバッファの数を指定します。READBUFFERSの値は、必要な場合にのみ指定してください。

    空白を保持: このオプションを選択すると、PRESERVE BLANKS句が生成されます。この句により、オプションの囲みデリミタが存在しない場合に先行の空白が保持されます。また、事前に決定済のサイズでフィールドが指定されている場合も、後続の空白がそのまま保持されます。

    データベース・ファイル名: このパラメータを使用すると、ロード対象の物理ファイルの特性を指定できます。これらのパラメータの初期値は、マッピングに使用するフラット・ファイルのプロパティから設定されます。

    このパラメータを空白以外の値に設定すると、FILE=オプションが生成されます。指定した値は、生成コードでは一重引用符で囲まれます。

    制御ファイルのロケーションおよび制御ファイル名: 監査詳細に必要な制御ファイル名。

    SQL*Loaderオプションおよび句の詳細は、Oracle Databaseユーティリティを参照してください。

  10. 「ランタイム・パラメータ」を開き、マッピングをデプロイメント用に構成します。

    監査: このオプションを選択すると、パッケージの実行時に監査が実行されます。

    デフォルト・パージ・グループ: 「デフォルト・パージ・グループ」はパッケージの実行時に使用されます。ランタイム・スキーマ内の各監査レコードは、指定したパージ・グループに割り当てられます。

  11. ソースとターゲットの参照を開き、「ソースとターゲットの参照」の説明に従ってマッピングの演算子の物理プロパティを設定します。

プロセス・フローの構成のリファレンス

プロセス・フロー・モジュールを構成する手順は、次のとおりです。

  1. プロセス・フロー・モジュールを右クリックして「構成」を選択します。

    プロセス・フロー・モジュールの「構成」タブが表示されます。

  2. 「評価ロケーション」識別ロケーションのパラメータを設定します。

    「評価ロケーション」は、このプロセス・フローの評価元ロケーションです。

    識別ロケーションは、生成済コードのデプロイ先ロケーションです。

プロセス・フロー・パッケージを構成する手順は、次のとおりです。

  1. プロセス・フロー・パッケージを右クリックして「構成」を選択します。

    プロセス・フロー・パッケージの「構成」タブが表示されます。

  2. 「参照カレンダ」「生成コメント」のパラメータを設定します。

    「参照カレンダ」は、このパッケージに関連付けるスケジュールを提供します。

    「生成コメント」は、生成済コードに関する追加のコメントを提供します。

パッケージのアクティビティのいずれかをクリックすると、そのプロパティが表示されます。

「パスの設定」を使用し、プロセス・フローの各アクティビティについて次のプロパティを設定します。

実行ロケーション: このアクティビティの実行元ロケーションです。Oracle Enterprise Managerを構成した場合、Oracle Enterprise Managerエージェントを選択してプロセス・フローを実行できます。

リモート・ロケーション: FTPアクティビティ専用のリモート・ロケーション。

作業ロケーション: FTP、FILE EXISTSおよび外部プロセス・アクティビティ専用の作業ロケーション。

配布ロケーション: デプロイ・ロケーション。この設定は変換アクティビティにのみ適用されます。事前定義済の変換を参照するアクティビティの場合は、設定を「デフォルトのロケーションを使用」から変更して有効なロケーションを指定する必要があります。

「一般プロパティ」では、バウンド名(プロセス・フロー内でアクティビティが表すオブジェクトの名前)を参照できます。バウンド名を持つのは、マッピング・アクティビティ、変換アクティビティおよびサブプロセス・アクティビティのみです。

「実行の設定」で、オプション「ステータスとしてリターンを使用」を選択します。

この設定は、出力でNUMBERを戻すアクティビティの動作を制御します。この種のアクティビティには、「FTP」「ユーザー定義」および「変換」などがあります。「ステータスとしてリターンを使用」を選択すると、プロセス・フロー・エディタではアクティビティの次の数値戻り値に基づいて送信推移条件が割り当てられます。

1 = 正常終了推移

2 = 警告推移

3 = エラー推移