INGEST ユーティリティーの制約事項および制限事項

INGEST ユーティリティーの使用については、 注意すべき制約事項がいくつかあります。

再開可能性
  • 入力データ・ソースのタイプが変更されると、INGEST ユーティリティーがその変更を検出できず、元の失敗したコマンドとは異なる出力行を生成することがあります。
表のサポート
  • INGEST ユーティリティーは、 Db2® 表に対する操作のみをサポートします。
  • INGEST ユーティリティーは、次に対する操作はサポートしません。
    • 作成済みまたは宣言済みのグローバル一時表
    • 型付き表
    • 型付きビュー
入力タイプ、入力フォーマット、および列のタイプ
  • INGEST ユーティリティーは、次の列タイプをサポートしません。
    • ラージ・オブジェクト・タイプ (LOB、BLOB、CLOB、DBCLOB)
    • XML
    • 構造化タイプ
    • 上記でリストされたいずれかのタイプに基づくユーザー定義のデータ型を持つ列
  • さらに、INGEST ユーティリティーには、生成された列に関する以下の制限があります。
    • INGEST ユーティリティーは、GENERATED ALWAYS と定義されている列に、値を割り当てることはできません。 INGEST コマンドでの SQL ステートメントが INSERT または UPDATE で、ターゲット表に GENERATED ALWAYS 列がある場合、以下のいずれかを実行しない限り、この挿入操作または更新操作は失敗し (SQL0798N)、INGEST コマンドは終了します。
      • アップデートする列のリストから、その列を削除する。
      • INSERT または UPDATE ステートメントで、その列に割り当てる値として DEFAULT を指定する。
    • INGEST ユーティリティーは、生成別ランダム方式を使用してランダム分散表の GENERATED BY DEFAULT AS IDENTITY または RANDOM_DISTRIBUTION_KEY として定義された列に、デフォルト値と特定の値の組み合わせを割り当てることはできません。 INGEST コマンドの SQL ステートメントが INSERT または UPDATE であり、ターゲット表に GENERATED BY DEFAULT AS IDENTITY 列がある場合、挿入または更新操作は失敗し (SQL0407N)、以下のいずれかを行わない限り、 INGEST コマンドはレコードをリジェクトします。
      • アップデートする列のリストから、その列を削除する。
      • INSERT または UPDATE ステートメントで、その列に割り当てる値として DEFAULT を指定する。
      • 列に割り当てる値として、決して NULL に評価されない式を指定する。 例えば、式を $field1 とすると、$field1 は入力レコード内で決して NULL 値をとりません。
他の Db2 フィーチャーを INGEST ユーティリティーと共に使用する場合に関連した制限
  • CONNECT_MEMBER パラメーターを除き、 SET CLIENT コマンド (接続設定用) は、INGEST ユーティリティーの接続方法に影響しません。
  • LIST HISTORY コマンドでは、 INGEST 操作に関する表示は出力されません。
  • SET UTIL_IMPACT_PRIORITY コマンドは、 INGEST コマンドに影響を与えません。
  • util_impact_lim データベース・マネージャー構成パラメーターは、 INGEST コマンドに影響を与えません。
  • CURRENT SCHEMA、CURRENT TEMPORAL SYSTEM_TIME、および CURRENT TEMPORAL BUSINESS_TIME は別にして、INGEST ユーティリティーは、SQL ステートメントの実行に影響するほとんどの特殊レジスターの設定を無視します。
一般的な INGEST ユーティリティーの制約
  • 複数の基本表を持つビューに INGEST する場合、セキュリティー・ポリシーによって保護される基本表は、同一のセキュリティー・ポリシーによって保護する必要があります。 (一部の基本表を保護されないままにしておくことはできますが、保護される基本表には同一のセキュリティー・ポリシーを使用する必要があります。)
ニックネームのサポート
  • INGEST コマンドで RESTART NEW または RESTART CONTINUE オプションが設定されているか、デフォルトでこれらのオプションになる場合で、なおかつターゲット表がニックネームであるか、またはニックネームを更新する更新可能ビューである場合は、ニックネームを含むサーバー定義の Db2_TWO_PHASE_COMMIT サーバー・オプションが 'Y' に設定されていることを確認してください。
  • INGEST コマンドを発行する前に、SET SERVER OPTION を使用して 2 フェーズ・コミットを使用可能にすることはできません。これは、そのコマンドが CLP 接続に対してのみ有効であるのに対し、INGEST コマンドは独自の接続を確立するためです。 カタログのサーバー定義でサーバー・オプションを設定する必要があります。
  • データベース・パーティション・フィーチャーでは Db2_TWO_PHASE_COMMIT サーバー・オプションを使用できません。つまり、パーティション・データベース環境モードと、再開可能 INGEST コマンド、およびニックネームへの INGEST の組み合わせはサポートされません。
  • ニックネームに対して実行した場合、このユーティリティーのパフォーマンス上のメリットが減少します。