コマンド解説書

LOAD

データを DB2 表にロードします。 サーバー上に存在するデータは、ファイル、テープ、 または名前付きパイプの形式にすることができます。 リモートに接続されたクライアント上に存在するデータは、 完全修飾ファイルまたは名前付きパイプの形式にすることができます。 テープは OS/2 ではサポートされていません。 ロード・ユーティリティーでは、階層レベルのデータのロードはサポートされていません。

効力範囲

このコマンドは、直接接続が存在している区画にのみ影響を及ぼします。 ロード・ユーティリティーは単一のデータベース区画に対してのみ機能します。

リモートに接続されたクライアント上に存在するデータのロードは、 以下の条件下ではサポートされません。

許可

以下のどれかが必要です。

注:すべてのロード・プロセス (および一般にすべての DB2 サーバー・プロセス) はインスタンス所有者によって所有されており、 それらのプロセスすべてにおいて、 必要なファイルにアクセスするためにそのインスタンス所有者の ID を使うため、 インスタンス所有者には入力データ・ファイルに対する読み取りアクセス権が必要です。 このコマンドをだれが呼び出すかには関係なく、 それらの入力データ・ファイルをインスタンス所有者から読むことができなければなりません。

必須接続

データベース。 暗黙接続が可能な場合には、省略時データベースへの接続が確立されます。

インスタンス。 明示的な接続は必要ありません。 データベースへの接続が確立している場合には、 ローカル・インスタンスへの暗黙接続が試行されます。

コマンド構文

                                .-,-------------.
                                V               |
>>-LOAD----+---------+--FROM------+-filename-+--+--------------->
           '-CLIENT--'            +-pipename-+
                                  '-device---'
 
>----OF--filetype----+-----------------------------+------------>
                     |            .-,-----------.  |
                     |            V             |  |
                     '-LOBS FROM-----lob-path---+--'
 
>-----+-----------------------------------+--------------------->
      |              .-----------------.  |
      |              V                 |  |
      '-MODIFIED BY-----filetype-mod---+--'
 
>-----+-----------------------------------------------------------------------------------------------------------------+>
      |                 .-,---------------------------.                                                                 |
      |                 V                             |                                                                 |
      '-METHOD--+-L--(-----column-start--column-end---+---)--+-----------------------------------------------------+-+--'
                |                                            |                     .-,----------------------.      | |
                |                                            |                     V                        |      | |
                |                                            '-NULL INDICATORS--(-----null-indicator-list---+---)--' |
                |       .-,--------------.                                                                           |
                |       V                |                                                                           |
                +-N--(-----column-name---+---)-----------------------------------------------------------------------+
                |       .-,------------------.                                                                       |
                |       V                    |                                                                       |
                '-P--(-----column-position---+---)-------------------------------------------------------------------'
 
>-----+---------------+---+--------------+---------------------->
      '-SAVECOUNT--n--'   '-ROWCOUNT--n--'
 
>-----+------------------+---+-------------------------+-------->
      '-WARNINGCOUNT--n--'   '-MESSAGES--message-file--'
 
>-----+--------------------------------+---+-INSERT----+-------->
      '-TEMPFILES PATH--temp-pathname--'   +-REPLACE---+
                                           +-RESTART---+
                                           '-TERMINATE-'
 
>----INTO--table-name----+------------------------------+------->
                         |    .-,----------------.      |
                         |    V                  |      |
                         '-(-----insert-column---+---)--'
 
>-----+--------------------------------------------+------------>
      '-DATALINK SPECIFICATION--| datalink-spec |--'
 
>-----+----------------------------+---------------------------->
      '-FOR EXCEPTION--table-name--'
 
>-----+-------------------------------------------------------------------------------------------+>
      |               .-YES-.                                                                     |
      '-STATISTICS--+-+-----+--+-+---------------------------------------------------------+-+-+--'
                    |          | '-WITH DISTRIBUTION--+---------------------------------+--' | |
                    |          |                      '-AND--+----------+--INDEXES ALL--'    | |
                    |          |                             '-DETAILED-'                    | |
                    |          '-+---------------------------------------+-------------------' |
                    |            '--+-AND-+---+----------+--INDEXES ALL--'                     |
                    |               '-FOR-'   '-DETAILED-'                                     |
                    '-NO-----------------------------------------------------------------------'
 
>-----+------------------------------------------------------------------+>
      |       .-NO-----------------------------------------------------. |
      +-COPY--+-YES--+-USE TSM--+---------------------------+--------+-+-+
      |              |          '-OPEN--num-sess--SESSIONS--'        |   |
      |              |     .-,-------------------.                   |   |
      |              |     V                     |                   |   |
      |              +-TO-----device/directory---+-------------------+   |
      |              '-LOAD--lib-name--+---------------------------+-'   |
      |                                '-OPEN--num-sess--SESSIONS--'     |
      '-NONRECOVERABLE---------------------------------------------------'
 
>-----+---------------+---+--------------------+---------------->
      '-HOLD QUIESCE--'   '-WITHOUT PROMPTING--'
 
>-----+---------------------------+---+---------------------+--->
      '-DATA BUFFER--buffer-size--'   '-CPU_PARALLELISM--n--'
 
>-----+----------------------+---------------------------------->
      '-DISK_PARALLELISM--n--'
 
>-----+---------------------------------+----------------------><
      '-INDEXING MODE--+-AUTOSELECT--+--'
                       +-REBUILD-----+
                       +-INCREMENTAL-+
                       '-DEFERRED----'
 
datalink-spec
 
    .-,--------------------------------------------------------------------------------------------------.
    V                                                                                                    |
|------(--+-----------------+--+----------------------------------+---+--------------------------+---)---+->
          '-DL_LINKTYPE URL-'  +-DL_URL_REPLACE_PREFIX--"prefix"--+   '-DL_URL_SUFFIX--"suffix"--'
                               '-DL_URL_DEFAULT_PREFIX--"prefix"--'
 
>---------------------------------------------------------------|
 

コマンド・パラメーター

CLIENT
ロードするデータが、リモートに接続するクライアントにあることを指定します。 ロード操作がリモート・クライアントから呼び出されない場合、 このオプションは無視されます。

注:

  1. リモートに接続されたクライアント上に存在するデータのロードは、 以下の条件下ではサポートされません。
    • クライアントが接続するデータベースが DB2 エンタープライズ拡張エディション環境にある場合。
    • クライアントが接続するデータベースが、 すでにカタログ化されたデータベースに対してカタログ化される場合。

  2. DUMPFILE および LOBSINFILE 修飾子 (表 7 を参照) は、 CLIENT キーワードが指定されている場合でも、サーバー上のファイルを参照します。

  3. コード・ページ変換は、リモートのロード操作時には実行されません。 データのコード・ページがサーバーのコード・ページとは異なる場合、 データのコード・ページは CODEPAGE 修飾子を使用して指定する必要があります (表 7 を参照)。

  4. リモート・クライアントのデータを (名前付きパイプではなく) ファイルからロードする場合、 1 ファイルにつき 2GB の上限があります。

以下の例では、リモートに接続されたクライアント上に存在するデータ・ファイル (/u/user/data.del) は、 サーバー・データベース上の MYTABLE にロードされます。

   db2 load client from /u/user/data.del of del
      modified by codepage=850 insert into mytable

COPY NO
順方向回復が使用可能 (つまり、logretain または userexit がオン) になっていれば、 表が存在している表スペースをバックアップ保留状態にするよう指定します。 表スペースのバックアップまたはデータベースの完全バックアップを実行しない限り、 表スペースのどの表のデータも更新または削除できません。 ただし、SELECT ステートメントを使用すれば、 どの表のデータにもアクセス可能です。

COPY YES
ロードするデータのコピーを保存することを指定します。 順方向回復が使用禁止 (つまり logretainuserexit が両方ともオフ) であれば、このオプションは無効です。 このオプションは DATALINK 列を含む表ではサポートされません。

USE TSM
Tivoli Storage Manager (TSM) を使ってコピーを保管することを指定します。

OPEN num-sess SESSIONS
TSM またはベンダー製品とともに使用する入出力セッションの数です。 省略時値は 1 です。

TO device/directory
コピー・イメージを作成する先の装置またはディレクトリーを指定します。 OS/2 では、テープはサポートされません。 SCO UnixWare 7 で実行中の DB2 サーバーの場合、テープへのコピーはサポートされません。

LOAD lib-name
使用するバックアップおよび復元 I/O 関数を含む共用ライブラリー (OS/2 または Windows オペレーティング・システムでは DLL) の名前。 フルパスで指定することができます。 フルパスを指定しない場合、 省略時でユーザー出口プログラムの存在するパスになります。

CPU_PARALLELISM n
表オブジェクトの作成時に、レコードの解析、変換、 および形式設定のためにロード・ユーティリティーが spawn するプロセスまたはスレッドの数を指定します。 このパラメーターは、区画内並列性を活用するために設計されています。 これは、事前にソートされているデータのロード時に特に便利です。 なぜなら、ソース・データ中のレコード順序が保存されるからです。 このパラメーターの値が 0 の場合や、このパラメーターを指定しなかった場合、 ロード・ユーティリティーは、 実行時にインテリジェントな省略時値 (通常は使用可能な CPU の数に基づく) を使用します。

注:

  1. LOB または LONG VARCHAR フィールドのどちらかを含む表でこのパラメーターを使用する場合、 システムの CPU の数またはユーザーが指定した値には関係なく、値は 1 になります。

  2. SAVECOUNT パラメーターに指定する値が小さいと、 データと表のメタデータの両方をフラッシュするために、 ローダーがさらに多くの入出力操作を実行することになります。 CPU_PARALLELISM が 1 より大きいなら、 フラッシュ操作は非同期になり、ローダーは CPU を活用できます。 CPU_PARALLELISM が 1 に設定されているなら、 ローダーは一貫性ポイントにおいて IO を待ちます。 CPU_PARALLELISM を 2、SAVECOUNT を 10 000 に設定したロード操作は、 CPU が 1 つしかなくても、同じ操作で CPU_PARALLELISM を 1 に設定した場合より速く完了します。

DATA BUFFER buffer-size
ユーティリティー内でデータを転送するためのバッファー・スペースとして使用する 4KB ページ数を設定します (並列性の程度には依存しません)。 指定する値がアルゴリズム上の最小値より小さい場合、 最小限必要なリソースが使用され、警告は戻されません。

このメモリーは、ユーティリティー・ヒープから直接に割り当てられ、 そのサイズは util_heap_sz データベース構成パラメーターで修正可能です。

値を指定しない場合、 ユーティリティーの実行時にインテリジェントな省略時値が計算されます。 この省略時値は、表の特性だけでなく、 ローダーのインスタンス生成時にユーティリティー・ヒープ中で使用可能な空きスペースの割合に基づいています。

DATALINK SPECIFICATION
各 DATALINK 列ごとに、それぞれ 1 つの列指定を括弧で囲んで指定できます。 各列指定は、1 つまたは複数の DL_LINKTYPE、接頭部、および DL_URL_SUFFIX 指定で構成されます。 接頭部指定は、DL_URL_REPLACE_PREFIX または DL_URL_DEFAULT_PREFIX のどちらかになります。

DATALINK 列指定の数は、表で定義されている DATALINK の数と同じだけ定義できます。 指定の順序は、挿入列 リストの中での DATALINK 列の順序、 または表定義内での順序 (挿入列 リストが指定されていない場合) に従います。

DISK_PARALLELISM n
表スペース・コンテナーにデータを書き込むためにロード・ユーティリティーが生成する プロセスまたはスレッドの数を指定します。 値を指定しない場合、ユーティリティーは表スペース・コンテナーの数と表の特性に基づいて、 インテリジェントな省略時値を選択します。

DL_LINKTYPE
指定した場合は、列定義の LINKTYPE に一致していなければなりません。 そうすることによって、 列定義に LINKTYPE URL が指定されている場合に DL_LINKTYPE URL が受け入れ可能になります。

DL_URL_DEFAULT_PREFIX "prefix"
これを指定すると、 同じ列内のすべての DATALINK 値の省略時接頭部になります。 ここでいう接頭部とは、URL 指定の「スキーム・ホスト・ポート」部分のことです。 (分散ファイル・システム (DFS) の場合、 接頭部とは URL 指定の「スキーム・セル名とファイル・スペースの接合」部分のことです。)

接頭部の例

   "http://server"
   "file://server"
   "file:"
   "http://server:80"
   "dfs://.../cellname/fs"

列データの中に接頭部がない場合、 DL_URL_DEFAULT_PREFIX で省略時の接頭部が指定されているなら、 列の値の接頭部としてその省略時接頭部が付けられます (NULL でない場合)。

たとえば、 DL_URL_DEFAULT_PREFIX で省略時接頭部が "http://toronto" として指定されている場合、

DL_URL_REPLACE_PREFIX "prefix"
この文節は、 それ以前にエクスポート・ユーティリティーによって生成されたデータをロードまたはインポートする際に、 ユーザーがデータに含まれるホスト名を別のホスト名に一括置換したい場合に便利です。 指定する場合には、 それがすべての 非 NULL 列値の接頭部になります。 列値にすでに接頭部があるなら、それは置き換えられます。 列値に接頭部がないなら、 DL_URL_REPLACE_PREFIX で指定される接頭部がその列値の接頭部になります。 分散ファイル・システム (DFS) の場合、 接頭部とは URL 指定の「スキーム・セル名とファイル・スペースの接合」部分のことです。

たとえば、DL_URL_REPLACE_PREFIX で接頭部が "http://toronto" として指定されている場合、

DL_URL_SUFFIX "suffix"
これを指定すると、それはその列のすべての非 NULL 列値に付加されます。 これは実際には、DATALINK 値のデータ・ロケーション部分の 『パス』 構成要素に付加されます。

FOR EXCEPTION table-name
エラーが発生した行のコピー先となる例外表を指定します。 固有索引または 1 次キー索引に違反した行はすべてコピーされます。 DATALINK 例外も例外表に取り込まれます。 未修飾の表名を指定すると、その表は CURRENT SCHEMA で修飾されます。

例外表に書き込まれる情報は、 ダンプ・ファイルには書き込まれません (dumpfile 修飾子については、表 7 を参照)。 区分データベース環境では、 例外表は、ロードする表が定義されたノードについて定義する必要があります。 一方ダンプ・ファイルは、 無効であるか構文エラーであるためにロードできない行が含まれます。 詳しくは、 データ移動ユーティリティー 手引きおよび解説書 を参照してください。

FROM filename/pipename/device
ロードするデータが含まれているファイル、パイプ、または装置を指定します。 このファイル、パイプ、装置は、CLIENT オプションが指定されていなければ、 データベースが存在するノードになければなりません。 複数の名前を指定すると、それらは順番に処理されます。 最後に指定した項目がテープ装置の場合は、 別のテープを使うようユーザーに対してプロンプトが出ます。 有効な応答オプションは、次のとおりです。

c
続行。 警告メッセージを生成した装置の使用を続けます (たとえば新しいテープをマウントした場合など)。

d
装置の終了。 警告メッセージを生成した装置の使用を停止します (たとえば、それ以上テープがない場合)。

t
終了。 すべての装置を終了します。

注:

  1. テープは OS/2 ではサポートされていません。

  2. 可能なかぎり完全修飾ファイル名を使用してください。 リモート・サーバーの場合は、常に完全修飾ファイル名を使う必要があります。 呼び出し側と同じノードにデータベースが存在する場合には、 相対パスを使用することもできます。

  3. ファイルが物理的には分割されてはいるが論理的には 1 つのファイルである場合には、 複数の IXF ファイルからのデータのロードがサポートされています。 ファイルが論理的にも物理的にも分割されている場合は、 サポートされていません

  4. OS/2 においてロードするデータとして予期される量より小さい値の pipename を指定した場合には、 システム・リソースの終結処理をしてから (できれば IPL を実行)、LOAD コマンドをもう一度発行する必要があります。

  5. クライアント・マシン上に存在するデータをロードする場合、 そのデータは、完全修飾ファイルまたは名前付きパイプのいずれかの形式でなければなりません。

HOLD QUIESCE
ロード操作の後、 ユーティリティーが表を静止排他状態のままにしておくことを指定します。 表スペースの静止状態を終了するには、次のコマンドを発行します。

   db2 quiesce tablespaces for table <tablename> reset

注:ファントム静止 が作成されないようにしてください (QUIESCE TABLESPACES FOR TABLEを参照)。

INDEXING MODE
ロード・ユーティリティーが索引を再作成するのか、 それとも索引を増分で拡張するのかを指定します。 有効な値は以下のとおりです。

AUTOSELECT
REBUILD モードと INCREMENTAL モードのどちらにするかを、 ロード・ユーティリティーが自動的に決定します。

REBUILD
すべての索引が再作成されます。 古い表データの索引キー部分も、 追加される新しい表データの索引キー部分もすべてソートできるようにするため、 ロード・ユーティリティーには十分なリソースが必要となります。

INCREMENTAL
索引に新しいデータが取り込まれて拡張します。 このアプローチでは、索引の空きスペースが消費されます。 このアプローチでは、 新たに挿入されるレコードの索引キーを追加するためのソート・スペースだけがあれば十分です。 この方式がサポートされるのは、索引オブジェクトが有効で、 かつロード操作の開始時にアクセス可能な場合だけです。 (たとえば、DEFERRED モードが指定されたロード操作の直後では、この方式は無効です)。 このモードを指定したものの、索引の状態などの理由でサポートされない場合は、 警告が戻され、REBUILD モードでロード操作が続行されます。 同様に、ロード作成フェーズでロード再開操作を開始した場合も、 INCREMENTAL モードはサポートされません。

以下の条件がすべて真の場合、増分索引の作成はサポートされません。

  • LOAD COPY オプションが指定されている (logretain または userexit が使用可能である)。
  • 表が DMS 表スペース内に存在している。
  • 索引オブジェクトの存在している表スペースが、 ロードしようとしている表に属する他の表オブジェクトによって共用されている。

この制限をう回するため、索引は別々の表スペースに置くようお勧めします。

DEFERRED
このモードが指定されている場合、ロード・ユーティリティーは索引の作成を試みません。 最新表示が必要であることを示すマークが索引に付けられます。 ロード操作とは関係のないこのような索引に最初にアクセスするときは、 再作成が強制的に実行されたり (詳しくは、管理の手引き を参照)、 データベースの再始動時に索引が再作成されたりする場合があります。 このアプローチでは、 最も大きい索引のキー部分をすべて処理できるだけのソート・スペースが必要です。 索引を作成するためにその後かかる合計時間は、REBUILD モードの場合よりも長くなります。 したがって、この索引作成据え置きモードで複数のロード操作を実行する場合、 最初の非ロード・アクセス時に索引を再作成できるようにしておくよりも、 順序列内の最後のロード操作で索引の再作成を実行できるようにした方が (パフォーマンスの観点から) 賢明であるといえます。

据え置き索引作成がサポートされるのは、非固有の索引があるために、 ロード・フェーズで挿入される複写キーがロード操作後は永続的ではなくなる表だけです。

注:据え置き索引作成は、DATALINK 列がある表ではサポートされません。

INSERT
ロード・ユーティリティーを実行できる 4 つのモードのうちの 1 つ。 既存の表データを変更することなく、ロードしたデータを表に追加します。

insert-column
データの挿入先となる表列を指定します。

ロード・ユーティリティーは、1 つまたは複数のスペースを含んだ名前の列を解析できません。 たとえば、次のように指定します。

   db2 load from delfile1 of del modified by noeofchar noheader 
      method P (1, 2, 3, 4, 5, 6, 7, 8, 9)
      insert into table1 (BLOB1, S2, I3, Int 4, I5, I6, DT7, I8, TM9)

は、Int 4 列があるためエラーになります。 これは、次のようにして二重引用符で列名を囲むことによって解決できます。

   db2 load from delfile1 of del modified by noeofchar noheader 
      method P (1, 2, 3, 4, 5, 6, 7, 8, 9)
      insert into table1 (BLOB1, S2, I3, "Int 4", I5, I6, DT7, I8, TM9)

INTO table-name
データのロード先となるデータベース表を指定します。 この表として、システム表または宣言一時表は指定できません。 別名、完全修飾、または未修飾の表名は指定できます。 修飾子付き表名は、 schema.tablename の形式です。 未修飾の表名を指定すると、その表は CURRENT SCHEMA で修飾されます。

LOBS FROM lob-path
ロードする LOB 値が含まれているデータ・ファイルへのパス。 パスの最後は斜線 (/) でなければなりません。 CLIENT オプションを指定した場合、パスは完全修飾しなければなりません。 LOB データ・ファイルの名前は、 メイン・データ・ファイル (ASC、DEL、または IXF) の、LOB 列にロードされる列内に保管されます。 filetype-mod ストリング内に lobsinfile が指定されていない場合、 このオプションは無視されます (表 7 を参照)。

MESSAGES message-file
ロード操作中に生じ得る警告およびエラー・メッセージの宛先を指定します。 メッセージ・ファイルを指定しなかった場合、メッセージは標準出力に書き込まれます。 このファイルへの完全パスが指定されていない場合、 ロード・ユーティリティーは現行のディレクトリーおよび省略時のドライブを宛先として使用します。 すでに存在するファイル名を指定すると、ロード時に情報が追加されます。

通常、メッセージ・ファイルには、ロード操作の終了時にメッセージが入れられますが、 それ自体は操作の進行状況のモニターには適していません。 ロード操作のリアルタイムのモニターについては、 LOAD QUERYを参照してください。

METHOD

L
データのロードを開始する列および終了する列の番号を指定します。 列の番号は、データの行の先頭からのバイト単位のオフセットです。 この番号は 1 から始まります。

注:このメソッドは、ASC ファイルの場合にのみ使用することができ、 そのファイル・タイプに対してのみ有効なオプションです。

N
ロードするデータ・ファイルの中の列の名前を指定します。 それらの列名の大文字小文字は、 システム・カタログ中の対応する名前の大文字小文字と一致している必要があります。 ヌル可能ではない各表列には、METHOD N リスト内に対応する項目が必要です。 たとえば、データ・フィールドが F1、 F2、 F3、 F4、 F5、 および F6 であり、 表列が C1 INT、C2 INT NOT NULL、C3 INT NOT NULL、および C4 INT の場合、 method N (F2, F1, F4, F3) は有効な要求ですが、 method N (F2, F1) は無効です。

注:この方式は、IXF ファイルの場合にのみ使用することができます。

P
ロードする入力データ・フィールドの索引 (1 から始まる) を指定します。 ヌル可能ではない各表列には、METHOD P リスト内に対応する項目が必要です。 たとえば、データ・フィールドが F1、 F2、 F3、 F4、 F5、 および F6 であり、 表列が C1 INT、C2 INT NOT NULL、C3 INT NOT NULL、および C4 INT の場合、 method P (2, 1, 4, 3) は有効な要求ですが、 method P (2, 1) は無効です。

注:この方式は、IXF または DEL ファイルの場合にのみ使用でき、 DEL ファイル・タイプに対してのみ有効なオプションです。

MODIFIED BY filetype-mod
追加オプションを指定します (表 7 を参照)。

NONRECOVERABLE
ロード・トランザクションが回復不能としてマークされており、 それ以降のロールフォワード・アクションによってそれを回復させることは不可能であることを指定します。 ロールフォワード・ユーティリティーは、そのトランザクションをスキップし、 データのロード先の表に "invalid" (無効) としてマークします。 ユーティリティーは、その表に対するそれ以降のどのトランザクションをも無視します。 ロールフォワード操作が完了すると、そのような表は、除去するか、 または回復不能なロード操作完了後のコミット・ポイントの後に取られたバックアップ (全バックアップまたは表スペースのバックアップ) から復元することしかできません。

このオプションを指定した場合、 ロード操作の後、表スペースはバックアップ保留状態になりません。 また、ロード操作時にロードされたデータのコピーを作成する必要はありません。

FILE LINK CONTROL が指定された DATALINK 列が表に存在している場合や、 そのような列を表に追加しようとしている場合には、このオプションを使用しないでください。

NULL INDICATORS null-indicator-list
このオプションは、METHOD L パラメーターを指定した場合だけ使用できます (つまり、入力ファイルが ASC ファイルの場合)。 ヌル標識リストは、コンマで区切られた正の整数のリストで、 各ヌル標識フィールドの列の番号を指定します。 列の番号は、データの行の先頭からのバイト単位の、各ヌル標識フィールドのオフセットです。 ヌル標識リストには、METHOD L パラメーターで定義された各データ・フィールドに対する 1 つの項目がなければなりません。 列の番号がゼロであることは、 対応するデータ・フィールドが必ずデータを含んでいることを示します。

ヌル標識列中の Y の値は、その列データがヌル値であることを指定します。 ヌル標識列に Y 以外 の文字を指定した場合は、 列データがヌル値ではなく、METHOD L オプションで指定された列データがロードされることを指定することになります。

ヌル標識文字は MODIFIED BY オプションを使用して変更できます (表 7nullindchar 修飾子の説明を参照)。

OF filetype
入力ファイル内のデータの形式を指定します。

ファイル形式の詳細については、データ移動ユーティリティー 手引きおよび解説書 の付録『Export/Import/Load ユーティリティー・ファイル形式』を参照してください。

REPLACE
ロード・ユーティリティーを実行できる 4 つのモードのうちの 1 つ。 表内の既存のデータすべてを削除してから、ロードしたデータを挿入します。 表定義および索引定義は変更されません。 階層間でデータを移動する際にこのオプションを使用する場合は、 階層全体に関係したデータだけが置き換えられます。副表は置き換えられません。

このオプションは DATALINK 列を含む表ではサポートされません。

RESTART
ロード・ユーティリティーを実行できる 4 つのモードのうちの 1 つ。 以前に割り込みを受けたロード操作を再開します。 ロード操作は、ロード、作成、または削除フェーズの最後の一貫性ポイントから自動的に続行されます。

RESTARTCOUNT
予約済み。

ROWCOUNT n
ロードするファイル内の物理レコードの数 n を指定します。 ユーザーはファイル内の最初の n 個の行だけをロードできます。

SAVECOUNT n
ロード・ユーティリティーが n 行ごとに一貫性ポイントを取ることを指定します。 この値はページ・カウントに変換され、エクステント・サイズの間隔に切り上げられます。 メッセージが発行されるのは一貫性ポイントにおいてなので、 LOAD QUERYを使用してロード操作をモニターする場合には、 このオプションを選択する必要があります。 n の値が十分な大きさでないなら、 各一貫性ポイントで実行される活動の同期化によってパフォーマンスに影響してしまいます。

省略時値はゼロですが、それは、 必要がなければ一貫性ポイントは確立されないことを意味します。

SORT BUFFER buffer-size
予約済み。

STATISTICS NO
統計データを収集せず、したがってカタログ内の統計データも変更しないことを指定します。 これが省略時値です。

STATISTICS YES
表およびすべての既存索引の統計データを収集するよう指定します。 このオプションがサポートされるのは、ロード操作が REPLACE モードの場合だけです。

WITH DISTRIBUTION
分散統計を収集するよう指定します。

AND INDEXES ALL
表統計と索引統計の両方を収集するよう指定します。

FOR INDEXES ALL
索引統計だけを収集するよう指定します。

DETAILED
拡張された索引統計を収集するよう指定します。

TEMPFILES PATH temp-pathname
ロード操作時に一時ファイルを作成する場合に使うパスの名前を指定します。 これはサーバー・ノードに従って完全に修飾しなければなりません。

一時ファイルは、ファイル・システムのスペースを使用します。 場合によっては、このスペースが相当必要になります。 以下に示すのは、 すべての一時ファイルにどの程度のファイル・システム・スペースを割り振るべきかの見積もりです。

一時ファイルの詳細については、 データ移動ユーティリティー 手引きおよび解説書 を参照してください。

TERMINATE
ロード・ユーティリティーを実行できる 4 つのモードのうちの 1 つ。 以前に割り込みを受けたロード操作を終了し、 ロード操作が開始された時点まで操作をロールバックします。 途中に一貫性ポイントがあっても通過します。 操作に関係する表スペースの状態は正常に戻され、 すべての表オブジェクトが一貫性のある状態に保たれます (索引の再作成が次回のアクセスで自動的に行われることになっている場合は、 索引オブジェクトは無効としてマークされます)。 終了するロード操作がロード REPLACE の場合、 その表はロード TERMINATE 操作完了後にヌルの表まで切り捨てられます。 終了するロード操作がロード INSERT の場合、 その表はロード TERMINATE 操作完了後も元のレコードをすべて保持します。

ロード終了オプションを使用しても、 表スペースからバックアップ保留状態が取り除かれることはありません。

注:このオプションは DATALINK 列を含む表ではサポートされません。

USING directory
予約済み。

WARNINGCOUNT n
n 個の警告が出たらロード操作を停止します。 このパラメーターは、警告が出ないことを期待しているが、 正しいファイルと表が使われているかどうかを検査したい、という場合に設定してください。 n がゼロの場合、またはこのオプションが指定されていない場合、 何度警告が出されてもロード操作は続行します。 警告のしきい値に達したためにロード操作が停止された場合でも、 あらためて RESTART モードでロード操作を開始できます。 ロード操作は最後の一貫性ポイントから自動的に続行されます。 または、入力ファイルの先頭から REPLACE モードであらためてロード操作を開始できます。

WITHOUT PROMPTING
データ・ファイルのリストにロードするすべてのファイルを含め、 しかもリストに含まれる装置またはディレクトリーがロード操作全体で十分であるということを指定します。 続きの入力ファイルが見つからなかったり、 ロード操作が終了する前にコピー先がいっぱいになるとロード操作は失敗し、 表はロード保留状態のままになります。

このオプションを指定しない場合に、 テープ装置がコピー・イメージ用のテープの終わりに達した場合、 またはリスト中の最後の項目がテープ装置であった場合は、 ユーザーに対してその装置に新しいテープを装着するよう求めるプロンプトが出されます。 テープは OS/2 ではサポートされていません。

例 1

TABLE1 に次の 5 つの列があるとします。

ASCFILE1 に次の 6 つの要素があるとします。

データ・レコードは次のとおりです。

   1...5....10...15...20...25...30...35...40
   Test data 1         XXN 123abcdN
   Test data 2 and 3   QQY    wxyzN
   Test data 4,5 and 6 WWN6789    Y

次のコマンドは、ファイルから表をロードします。

   db2 load from ascfile1 of asc modified by striptblanks reclen=40
      method L (1 20, 21 22, 24 27, 28 31)
      null indicators (0,0,23,32)
      insert into table1 (col1, col5, col2, col3)

注:

  1. MODIFIED BY パラメーターで striptblanks を指定すると、 VARCHAR 列の中のブランクが切り捨てられるようになります (たとえば行 1、2、 および 3 の長さがそれぞれ 11、17、および 19 バイトである COL1)。

  2. MODIFIED BY パラメーターで reclen=40 を指定すると、 各入力レコードの最後が改行文字でなく、 各レコードが 40 バイト長であることを指定することになります。 最後の 8 バイトは、表のロードには使われません。

  3. COL4 は入力ファイルにはないので、 その省略時値 (NOT NULL WITH DEFAULT と定義されています) を使って TABLE1 に挿入されます。

  4. 位置 23 と 32 は、 特定の行で TABLE1 の COL2 と COL3 が NULL としてロードされるかどうかを指示するために使われます。 ある特定のレコードの、その列のヌル標識位置が Y である場合、 その列は NULL になります。 N なら、 入力レコード中のその列のデータ位置のデータ値 (L(........) で定義される) は、 その行の列データのソースとして使用されます。 この例では、行 1 のどの列も NULL ではなく、 行 2 の COL2 は NULL であり、行 3 の COL3 は NULL です。

  5. この例では、COL1 と COL5 の NULL INDICATORS は 0 (ゼロ) として指定されますが、 それはそのデータをヌル値にできないことを示しています。

  6. 特定の列の NULL INDICATOR は、入力レコード内のどこにでも指定できますが、 その位置は指定する必要があり、 かつ Y または N の値を指定しなければなりません。

例 2 (ファイルから LOB をロードする)

TABLE1 に次の 3 つの列があるとします。

ASCFILE1 には次の 3 つの要素があるとします。

次に示すファイルは、 /u/user1 または /u/user1/bin のどちらかにあります。

ASCFILE1 内のデータ・レコード

   1...5....10...15...20...25...30.
   REC1 ASCFILE2 ASCFILE3
   REC2 ASCFILE4 ASCFILE5
   REC3 ASCFILE6 ASCFILE7

次のコマンドは、ファイルから表をロードします。

   db2 load from ascfile1 of asc
      lobs from /u/user1, /u/user1/bin
      modified by lobsinfile reclen=22
      method L (1 4, 6 13, 15 22)
      insert into table1

注:

  1. MODIFIED BY パラメーターの中で lobsinfile を指定すると、 ファイルからすべての LOB データをロードすることをローダーに対して指定することになります。

  2. MODIFIED BY パラメーターで reclen=22 を指定すると、 各入力レコードの最後が改行文字でなく、 各レコードが 22 バイト長であることを指定することになります。

  3. LOB データは、ASCFILE2 から ASCFILE7 までの 6 つのファイルに入っています。 各ファイルには、 特定の行の LOB 列をロードするのに使用されるデータが入れられています。 LOB と他のデータの関係は、ASCFILE1 に指定します。 このファイルの最初のレコードは、REC1 を行 1 の COL1 にするようローダーに指示します。 行 1 の LOB1 をロードするのには ASCFILE2 の内容が使われ、 ASCFILE3 の内容は行 1 の LOB2 をロードするのに使われます。 同じように、行 2 の LOB1 および LOB2 をロードするには ASCFILE4 と ASCFILE5 が使われ、 行 3 の LOB をロードするには ASCFILE6 と ASCFILE7 が使われます。

  4. これらのファイルがローダーで必要になった場合には、 名前の指定された LOB ファイルを探索するのに使われる 2 つのパスが、 LOBS FROM パラメーターに含まれています。

  5. lobsinfile 修飾子を指定しないで ASCFILE1 (区切りなしの ASCII ファイル) から直接 LOB をロードする場合は、 次の規則を守ってください。

例 3 (ダンプ・ファイルの使用)

表 FRIENDS は、次のように定義されています。

   table friends "( c1 INT NOT NULL, c2 INT, c3 CHAR(8) )"

次のデータ・レコードをこの表にロードしようとすると、

   23, 24, bobby
   , 45, john
   4,, mary

最初の INT が NULL で、列定義に NOT NULL が指定されているため、第 2 行は拒否されます。 DEL 形式と互換でない開始文字を含む列は、エラーを生成し、 レコードは拒否されます。 そのようなレコードは、ダンプ・ファイルに書き込むことができます (表 7 参照)。

文字区切り文字の外側にある列の DEL データは無視されますが、警告が生成されます。 たとえば、次のようにします。

   22,34,"bob"
   24,55,"sam" sdf

ユーティリティーは、表の第 3 列に "sam" をロードし、 警告の中で文字 "sdf" にフラグが付けられます。 このレコードは拒否されません。 別の例を考えましょう。

   22 3, 34,"bob"

ユーティリティーは 22,34,"bob" をロードし、 列 1 の中で 22 より後のデータは無視されたという警告を生成します。 このレコードは拒否されません。

例 4 (DATALINK データのロード)

下記のコマンドは、 DEL 形式のデータが含まれている入力ファイル delfile1 から、 表 MOVIETABLE をロードします。

   db2 load from delfile1 of del
       modified by dldel|
       insert into movietable (actorname, description, url_making_of, url_movie)
       datalink specification (dl_url_default_prefix "http://narang"),
       (dl_url_replace_prefix "http://bomdel" dl_url_suffix ".mpeg")
       for exception excptab

注:

  1. この表には下記の 4 つの列が含まれています。

       actorname              VARCHAR(n)
       description            VARCHAR(m)
       url_making_of          DATALINK (with LINKTYPE URL)
       url_movie              DATALINK (with LINKTYPE URL)
    

  2. 入力ファイルの中の DATALINK データのサブフィールド区切り文字は、 縦線 (|) 文字です。

  3. url_making_of の列値に接頭部文字列が含まれていないなら、 "http://narang" が使用されます。

  4. url_movie の非 NULL 列値には、 接頭部として "http://bomdel" が付けられます。 既存の値は置き換えられます。

  5. url_movie の非 NULL 列値のパスには、".mpeg" が付加されます。 たとえば、url_movie の列値が "http://server1/x/y/z" なら、 それは "http://bomdel/x/y/z.mpeg" として保管されます。 その値が "/x/y/z" なら "http://bomdel/x/y/z.mpeg" として保管されます。

  6. 表のロード中に固有索引または DATALINK 例外が発生したなら、 関係するレコードが表から削除され、例外表 excptab に入れられます。

例 5 (識別列がある表へのロード)

TABLE1 には以下の 4 つの列があります。

TABLE2 は TABLE1 と同じですが、C2 が GENERATED ALWAYS 識別列である点が異なります。

DATAFILE1 のデータ・レコード (DEL 形式):

   "Liszt"
   "Hummel",,187.43, H
   "Grieg",100, 66.34, G
   "Satie",101, 818.23, I

DATAFILE2 のデータ・レコード (DEL 形式):

   "Liszt", 74.49, A
   "Hummel", 0.01, H
   "Grieg", 66.34, G
   "Satie", 818.23, I

注:

  1. 以下のコマンドは、DATAFILE1 で行 1 および 2 への識別値の提供がないので、 それらの行のための識別値を生成します。 ただし、行 3 および 4 は、それぞれユーザー提供の識別値 100 と 101 が割り当てられます。

       db2 load from datafile1.del of del replace into table1
    

  2. DATAFILE1 を TABLE1 にロードしてすべての行に対する識別値を生成するには、 以下のコマンドのいずれかを発行します。

       db2 load from datafile1.del of del method P(1, 3, 4) replace into table1 (c1, c3, c4)
       db2load from datafile1.del of del modified by identityignore replace into table1
    

  3. DATAFILE2 を TABLE1 にロードして各行に対する識別値を生成するには、 以下のコマンドのいずれかを発行します。

       db2 load from datafile2.del of del replace into table1 (c1, c3, c4)
       db2 load from datafile2.del of del modified by identitymissing replace into table1
    

  4. 識別値 100 と 101 を行 3 および 4 に割り当てるために DATAFILE1 を TABLE2 にロードするには、 以下のコマンドを発行します。

       db2 load from datafile1.del of del modified by identityoverride replace into table2
    
    この場合、ユーティリティーには、ユーザー提供の値を優先して、 システム生成の識別値に上書きするように指示しているため、 行 1 および 2 は拒否されます。 ユーザー提供の値が存在しない場合でも、 識別列が暗黙的に非ヌルであるため、この行は拒否しなければなりません。

  5. DATAFILE1 を TABLE2 に、識別関連のファイル・タイプ修飾子を使用せずにロードした場合、 行 1 と 2 はロードされますが、行 3 と 4 は拒否されます。 その理由は、それらが固有の非ヌル値を提供し、識別列が GENERATED ALWAYS であるからです。

使用上の注意

データは、入力ファイル内に並んでいる順序でロードされます。 特定の順序にしたいなら、ロードの前にデータをソートしておく必要があります。

ロード・ユーティリティーは、既存の定義に基づいて索引を作成します。 固有キーの重複を処理するには、例外表が使用されます。 ユーティリティーは、参照保全を保証したり、制約検査を実行したり、 ロード中の表に依存する要約表を更新したりしません。 表に参照制約や検査制約が含まれている場合、その表は検査保留状態になります。 REFRESH IMMEDIATE として定義されている要約表、 およびロードする表に依存する要約表は、検査保留状態になります。 表の検査保留状態を終了させるには、SET INTEGRITY ステートメントを発行してください。 コピーされた要約表に対してロード操作を実行することはできません。

クラスター化が必要なら、ロード前にクラスター化索引でデータをソートしてください。

DB2 データ・リンク・マネージャーに関する考慮事項

各 DATALINK 列ごとに、それぞれ 1 つの列指定を括弧に入れて指定できます。 各列指定は、1 つまたは複数の DL_LINKTYPE、 接頭部、および DL_URL_SUFFIX 指定で構成されます。 接頭部 情報は、 DL_URL_REPLACE_PREFIX かまたは DL_URL_DEFAULT_PREFIX 指定です。

DATALINK 列指定の数は、表で定義されている DATALINK の数と同じだけ定義できます。 指定の順序は、挿入列リストの中での DATALINK 列の順序 (挿入列リストが INSERT INTO (insert-column, ...) で指定されている場合) か、 または表定義内での順序 (insert-column が指定されていない場合) に従います。

たとえば、表の列が C1、C2、C3、C4、および C5 であり、 その中で C2 と C5 だけが DATALINK タイプであって、 挿入列 (insert-column) リストが (C1, C5, C3, C2) ならば、 DATALINK 列指定は 2 つ必要です。 第 1 の列指定は C5 のためのもの、第 2 の列指定は C2 のためのものです。 挿入列リストが指定されていない場合には、第 1 の列指定は C2 のためのもの、 第 2 の列指定は C5 のためのものとなります。

複数の DATALINK 列があり、いくつかの列には特定の指定が必要ないという場合、 列指定には、指定順序の指定に関するあいまいさをなくすための括弧が少なくとも必要です。 どの列についての指定もないなら、空括弧のリスト全体を除去することができます。 したがって、省略時値でよいのであれば、DATALINK 指定は必ずしも必要ではありません。

FILE LINK CONTROL として定義されている DATALINK 列を含む表にデータをロードする場合は、 以下のステップを実行してから、ロード・ユーティリティーを呼び出してください。 (すべての DATALINK 列が NO LINK CONTROL として定義されている場合は、 これらのステップを実行する必要はありません)。

  1. DATALINK 列の値によって参照されるデータ・リンク・サーバーに、 DB2 データ・リンク・マネージャーがインストールされていることを確認します。
  2. データベースを DB2 データ・リンク・マネージャーに登録します。
  3. DATALINK 値として挿入されるすべてのファイルを、 適切なデータ・リンク・サーバーにコピーします。
  4. 接頭部名 (複数可) をデータ・リンク・サーバー上の DB2 データ・リンク・マネージャーに定義します。
  5. (ロードする) DATALINK データによって参照されるデータ・リンク・サーバーを、 DB2 データ・リンク・マネージャー構成ファイルに登録します。

ロード・ユーティリティーの実行中に、 DB2 とデータ・リンク・サーバーの間の通信に障害が発生することがあります。 そのような場合、ロード操作は失敗します。 その場合には、次のようにしてください。

  1. データ・リンク・サーバーと DB2 データ・リンク・マネージャーを開始します。
  2. ロード再開操作を起動します。

ロード操作中に失敗したリンクはデータ保全性違反とみなされ、 固有索引違反の場合とほとんど同じ仕方で処理されます。 そのため、1 つ以上の DATALINK 列を含む表をロードする場合の特別な例外が定義されています。 追加情報については、SQL 解説書 の例外の説明を参照してください。

入力ファイル内での DATALINK 情報の表示

LINKTYPE (現在のところ URL のみサポート) は、DATALINK 情報の一部としては指定されません。 LINKTYPE は、LOAD または IMPORT コマンドの中で指定されます。 PC/IXF タイプの入力ファイルの場合は、 データ移動ユーティリティー 手引きおよび解説書 の中の付録 『Export/Import/Load ユーティリティー・ファイル形式』で説明されているように、 該当する列記述レコードの中で指定されます。

URL LINKTYPE のための DATALINK 情報の構文は、次のとおりです。

>>-+----------+---+------------------------+-------------------><
   '-urlname--'   '-dl_delimiter--comment--'
 

urlnamecomment はいずれも任意選択です。 どちらも省略した場合、ヌル値が代入されます。

urlname
この URL 名は有効な URL 構文に従うものでなければなりません。

注:

  1. スキーム名として使えるのは "http" と "file" だけです。

  2. URL 名の接頭部 (スキーム、ホスト、およびポート) はオプションです。 接頭部がなければ、 それはロード・ユーティリティーまたはインポート・ユーティリティーの DL_URL_DEFAULT_PREFIX または DL_URL_REPLACE_PREFIX の指定から取られます。 そのどちらも指定されていないなら、 省略時の接頭部として "file://localhost" が使われます。 このように、ローカル・ファイルの場合、 LOAD または IMPORT コマンドの中で DATALINK 列指定なしで、 フルパス名で指定したファイル名を URL 名として入力できます。

  3. URL 名の中に接頭部が含まれていても、 ロード操作またはインポート操作の DL_URL_REPLACE_PREFIX 指定に別の接頭部名が指定されているなら、 それによってオーバーライドされることになります。

  4. 『パス』 (DL_URL_SUFFIX が指定されていればその後のパス) は、 リモート・サーバーの中のリモート・ファイルのフルパス名です。 相対パス名は使えません。 http サーバーの省略時のパス接頭部は、それに含まれません。

dl_delimiter
区切り付き ASCII (DEL) ファイル形式の場合、 LOAD または IMPORT コマンドの dldel 修飾子によって指定される文字、 または省略時の文字。 区切りなし ASCII (ASC) ファイル形式の場合は、 これを文字順序 \ (円記号とそれに続くセミコロン) に対応させる必要があります。 ヌル文字 (ブランクやタブなど) も、 このパラメーターに指定した値の前後に入れることができます。

comment
DATALINK 値の注釈部分。 区切り付き ASCII (DEL) ファイル形式でこれを指定する場合、 comment テキストは文字ストリング区切り文字で囲む必要があります。 文字ストリング区切り文字は、省略時では二重引用符 (") です。 この文字ストリング区切り文字は、LOAD または IMPORT コマンドの MODIFIED BY filetype-mod 指定によってオーバーライドできます。

注釈を指定しないなら、省略時として注釈は長さ 0 の文字列になります。

次に示すのは、区切り付き ASCII (DEL) ファイル形式の場合の DATALINK データの例です。

次に示すのは、区切りなし ASCII (ASC) ファイル形式の場合の DATALINK データの例です。

以下に、DATALINK データの例を示します。列のロードまたはインポート指定が DL_URL_DEFAULT_PREFIX ("http://qso") であるとしています。


表 7. 有効なファイル・タイプ修飾子 (ロード)
修飾子 説明
すべてのファイル形式
anyorder この修飾子は、 cpu_parallelism パラメーターと共に使用されます。 ソース・データ順序を保つことが必要でないことを指定し、 それによって SMP システムでさらにパフォーマンスを高めます。 cpu_parallelism の値が 1 の場合、 このオプションは無視されます。 SAVECOUNT > 0 の場合、このオプションはサポートされません。 一貫性ポイント後の破損回復では、 データが順番にロードされることが必要になるからです。
fastparse ユーザー提供の列値に対して簡略化された構文検査が実行され、 パフォーマンスが向上します。 このオプション下でロードされた表は、 アーキテクチャー的に正しいものが保証されています。 また、このユーティリティーが十分なデータ検査を実行して、 セグメント違反またはトラップが発生しないようにすることも保証されています。 正しい形式のデータは、正しくロードされます。

たとえば、ASC ファイルの整数列用のフィールド項目として値 123qwr4 が検出された場合、 値が有効な数値を示していないので、 ロード・ユーティリティーは通常それを構文エラーとします。 fastparse を指定した場合、構文エラーは検出されず、 任意の数値を整数フィールドがロードされます。 この修飾子は、完全なデータだけに使用するように注意する必要があります。 ASCII データにおいてこのオプションを使うと、 かなりパフォーマンスが上がる場合がありますが、 PC/IXF データの場合は fastparse を指定してもそれほどパフォーマンスは上がりません。 IXF はバイナリー・フォーマットであり、 fastparse は解析操作と ASCII から内部形式への変換に影響するからです。

generatedignore この修飾子は、ロード・ユーティリティーに、 すべての生成列のデータはデータ・ファイルに存在するが、 それらを無視すべきことを知らせます。 ヌル値可の生成列の場合、これによってその列にヌルがロードされます。 ヌル値不可の生成列の場合、生成列のデータ・タイプに応じた省略時値がロードされます。 ロード操作の終了時に、SET INTEGRITY ステートメントを呼び出して、 ロードした値を、生成列定義に応じて計算した値で置き換えるように強制することができます。 この修飾子は、generatedmissing または generatedoverride 修飾子と共に使用することはできません。
generatedmissing この修飾子を指定すると、ユーティリティーは、 入力データ・ファイルには生成列のデータが全く入っていない (ヌルさえない) とみなし、 その列にヌルをロードします。 ロード操作の終了時に、SET INTEGRITY ステートメントを使用して、 ヌルを、生成列定義に応じて計算した値で置き換えることができます。 この修飾子は、generatedignore または generatedoverride 修飾子と共に使用することはできません。
generatedoverride この修飾子は、(こうした列のタイプの通常の規則に反して) 表内のすべての生成列で、 ヌル以外の明示的データを受け入れるようにロード・ユーティリティーに指示します。 これは、他のデータベース・システムからデータを移行する場合や、 DROPPED TABLE RECOVERY オプションを指定した ROLLFORWARD DATABASE コマンドを使用して復元したデータから表をロードする場合に役立ちます。 この修飾子を使用すると、 データが入っていない行やヌル不可の生成列に対するヌルデータはすべて拒否されます (SQL3116W)。

注:このオプションを使用している場合、 ロード・ユーティリティーは、生成列の値の妥当性検査を試行しません。

この修飾子は、generatedmissing または generatedignore 修飾子と共に使用することはできません。

identityignore この修飾子は、ロード・ユーティリティーに、 識別列のデータはデータ・ファイルに存在するが、 それらを無視すべきことを知らせます。 この結果として、すべて識別値はこのユーティリティーによって生成されます。 この動作は、GENERATED ALWAYS および GENERATED BY DEFAULT 識別列のどちらの場合も同じです。 つまり、GENERATED ALWAYS 列の場合、拒否される行はないという意味です。 この修飾子は、identitymissing または identityoverride 修飾子と共に使用することはできません。
identitymissing この修飾子を指定すると、ユーティリティーは、入力データ・ファイルには識別列のデータが (NULL さえも) なく、 したがって各行の値が生成されると想定します。 この動作は、 GENERATED ALWAYS および GENERATED BY DEFAULT 識別列のどちらの場合も同じです。 この修飾子は、 identityignore または identityoverride 修飾子と共に使用することはできません。
identityoverride この修飾子は、GENERATED ALWAYS として定義した識別列が、 ロードする表に存在している場合にのみ使用するべきです。 この修飾子は、(識別列のそれらのタイプの通常の規則に反して) そうした列で、 ヌル以外の明示的データを受け入れるようにユーティリティーに指示します。 これは、表を GENERATED ALWAYS と定義することが必要なときに他のデータベース・システムからデータを移行する場合や、 DROPPED TABLE RECOVERY オプションを指定した ROLLFORWARD DATABASE コマンドを使用して復元したデータから表をロードする場合に役立ちます。 この修飾子を使用すると、 データが入っていない行や識別列に対するヌルデータはすべて拒否されます (SQL3116W)。 この修飾子は、identitymissing または identityignore 修飾子と共に使用することはできません。

注:このオプションを使用している場合、 ロード・ユーティリティーは、表の識別列の値が固有であるように保守したり、 その固有性を検査することはありません。

indexfreespace=x x は 0〜99 の整数です。 その値は、 各索引ページの中で索引ロード時の空きスペースとして残しておく部分の割合を示すパーセントとして解釈されます。 ページの最初の項目は、制限なしで追加されます。 それより後の項目は、空きスペースのパーセントしきい値内である場合に追加されます。 省略時値は、CREATE INDEX time で使用されている値です。

この値は、CREATE INDEX ステートメントに指定された PCTFREE 値よりも優先して使用され、 索引の葉ページだけが対象です。

lobsinfile lob-path には、LOB 値を含むファイルへのパスを指定します。 ASC、DEL、または IXF ロード入力ファイルには、 LOB 列に LOB データを含むファイルの名前が入っています。
noheader ヘッダー検査コードをスキップします (単一ノードのノードグループに存在する表へのロード操作にのみ適用します)。

オートローダー・ユーティリティー (データ移動ユーティリティー 手引きおよび解説書 の中の『AutoLoader』を参照) は、 マルチノードのノード・グループで表のデータの提供元となるファイルごとにヘッダーを書き込みます。 そのヘッダーには、ノード番号、区分化マップ、および区分化キー指定が含まれています。 ロード・ユーティリティーでは、 データが正しいノードでロードされていることを確認するためにこの情報が必要になります。 単一ノードのノード・グループに存在する表にファイルをロードしている場合、 このオプションを指定するとロード・ユーティリティーはヘッダーの検査コードをスキップします。

norowwarnings 拒否された行についての警告をすべて抑制します。
pagefreespace=x x は 0〜100 の整数です。 その値は、 各データ・ページの中で空きスペースとして残しておく部分の割合を示すパーセントとして解釈されます。

指定された値が最小行サイズという点で無効な場合 (たとえばある行に 3 000 バイト以上の長さがあり、 x 値は 50 の場合)、その行は新しいページに入れられます。 値 100 が指定された場合には、各行ごとにそれぞれ新しいページに入れられます。

注:表の PCTFREE 値は、ページごとの空きスペース量を決定するものとなります。 ロード操作の pagefreespace 値も表の PCTFREE 値も設定されていない場合、 ページごとに可能な限りたくさんのスペースが入れられます。 pagefreespace によって設定された値は、 表に対して指定されている PCTFREE 値をオーバーライドします。

totalfreespace=x x は 0〜100 の整数です。 その値は、 表示の合計ページの中で空きスペースとして表示の最後に付加する部分の割合を示すパーセントとして解釈されます。 たとえば、x が 20 で、 表の中に 100 個のデータ・ページがある場合、20 個のヌル・ページが追加されます。 その表のデータ・ページの合計数は 120 になります。
usedefaults ターゲット表の列に対応するソース列を指定していても、 1 つまたは複数の行インスタンスにデータが入っていない場合、 省略時値がロードされます。 欠落データの例は次のとおりです。
  • DEL ファイルの場合、列に ",," が指定された場合
  • DEL/ASC/WSF ファイルの場合、列が不足している行、 または元の指定では十分な長さのない行。
このオプションを指定せず、行インスタンスのソース列にデータがない場合、 以下のいずれかになります。
  • 列がヌル値可なら、ヌル値がロードされます。
  • 列がヌル値不可の場合、ユーティリティーは行を拒否します。
ASCII ファイル形式 (ASC/DEL)
codepage=x x は ASCII 文字ストリングです。 その値は、入力データ・セット中のデータのコード・ページとして解釈されます。 ロード操作時に、このコード・ページからデータベースのコード・ページへ文字データ (および文字によって指定される数値データ) を変換します。

以下の規則が適用されます。

  • 純 DBCS (グラフィック)、混合 DBCS、および EUC では、 区切り文字は x00〜x3F の範囲に制限されます。
  • EBCDIC コード・ページで指定された DEL データの場合、 区切り文字はシフトインおよびシフトアウト DBCS 文字と一致しない場合があります。
  • nullindchar には、 コード・ポイントが x20〜x7F の標準 ASCII セットに含まれる記号を指定する必要があります。 これは、ASCII 記号およびコード・ポイントの場合です。 EBCDIC データの場合は、 コード・ポイントが異なるとしても対応する記号を使用できます。
dateformat="x" x は、ソース・ファイルの日付の形式です。a 有効な日付要素は次のとおりです。

  YYYY   - 年 (0000〜9999 の範囲の 4 桁の数字)
  M      - 月 (1〜12 の範囲の 1 桁または 2 桁の数)
  MM     - 月 (1〜12 の範囲の 2 桁の数;
               M と同時には使用できない)
  D      - 日 (1〜31 の範囲の 1 桁または 2 桁の数)
  DD     - 日 (1〜31 の範囲の 2 桁の数;
               D と同時には使用できない)
  DDD    - Day of the year (three digits ranging
            from 001 - 366; mutually exclusive
            with other day or month elements)

省略時値の 1 が、指定されない各要素に割り当てられます。 日付形式のいくつかの例を以下に示します。

   "D-M-YYYY"
   "MM.DD.YYYY"
   "YYYYDDD"
dumpfile = x x は、 拒否された行を書き込む例外ファイルの (サーバー・ノードによる) 完全修飾名です。 1 レコードにつき、最大で 32KB のデータが書き込まれます。 ダンプ・ファイルの指定方法の例を下記に示します。

   db2 load from data of del
      modified by dumpfile = /u/user/filename
      insert into table_name

注:

  1. 区分データベース環境の場合、 パスはロードを実行するノードにローカルなものでなければなりません。それによって、 並行して実行される複数のロード操作が同じファイルに書き込むことを防ぐことができます。

  2. ファイルの内容は、非同期バッファー・モードでディスクに書き込まれます。 ロード操作が失敗したり割り込まれたりした場合、 ディスクにコミットされたレコード数を決定できなくなり、 LOAD RESTART 後の一貫性が保証されなくなります。 ファイルが完全であるとされるのは、 1 回のパスの中で開始して完了するロード操作の場合だけです。

  3. この修飾子では、ファイル拡張子が複数のファイル名はサポートされません。 たとえば、

       dumpfile = /home/svtdbm6/DUMP.FILE
    

    はロード・ユーティリティーに対して指定できますが、

       dumpfile = /home/svtdbm6/DUMP.LOAD.FILE
    

    は指定できません。

implieddecimal 暗黙の 10 進小数点の位置は、列定義によって指定されます。 その位置が値の最後にあると想定されることはありません。 たとえば、値 12345 が DECIMAL(8,2) 列にロードされる場合、 123.45 としてであり、 12345.00 ではありません
timeformat="x" x は、ソース・ファイルの時刻の形式です。a 有効な時刻要素は次のとおりです。

  H      - Hour (one or two digits ranging from 0 - 12
              for a 12 hour system, and 0 - 24
              for a 24 hour system)
  HH     - Hour (two digits ranging from 0 - 12
              for a 12 hour system, and 0 - 24
              for a 24 hour system; mutually exclusive
              with H)
  M      - 分 (0〜59 の範囲の 1 桁または 2 桁の数)
  MM     - 分 (0〜59 の範囲の 2 桁の数;
               M と同時には使用できない)
  S      - 秒 (0〜59 の範囲の 1 桁または 2 桁の数)
  SS     - 秒 (0〜59 の範囲の 2 桁の数;
               S と同時には使用できない)
  SSSSS  - Second of the day after midnight (5 digits
              ranging from 00000 - 86399; mutually
              exclusive with other time elements)
  TT     - 午前午後の標識 (AM または PM)

省略時値の 0 が、指定されない各要素に割り当てられます。 時刻形式のいくつかの例を以下に示します。

   "HH:MM:SS"
   "HH.MM TT"
   "SSSSS"
timestampformat="x" x は、ソース・ファイルのタイム・スタンプの形式です。a 有効なタイム・スタンプ要素は次のとおりです。

  YYYY   - 年 (0000〜9999 の範囲の 4 桁の数字)
  M      - 月 (1〜12 の範囲の 1 桁または 2 桁の数)
  MM     - 月 (1〜12 の範囲の 2 桁の数;
               M (月) と同時には使用できない)
  D      - 日 (1〜31 の範囲の 1 桁または 2 桁の数)
  DD     - 日 (1〜31 の範囲の 2 桁の数;
               D と同時には使用できない)
  DDD    - Day of the year (three digits ranging
              from 001 - 366; mutually exclusive with
              other day or month elements)
  H      - Hour (one or two digits ranging from 0 - 12
              for a 12 hour system, and 0 - 24
              for a 24 hour system)
  HH     - Hour (two digits ranging from 0 - 12
              for a 12 hour system, and 0 - 24
              for a 24 hour system; mutually exclusive
              with H)
  M      - 分 (0〜59 の範囲の 1 桁または 2 桁の数)
  MM     - 分 (0〜59 の範囲の 2 桁の数;
               M (分) と同時には使用できない)
  S      - 秒 (0〜59 の範囲の 1 桁または 2 桁の数)
  SS     - 秒 (0〜59 の範囲の 2 桁の数;
               S と同時には使用できない)
  SSSSS  - Second of the day after midnight (5 digits
              ranging from 00000 - 86399; mutually
              exclusive with other time elements)
  UUUUUU - マイクロ秒 (000000 - 999999 の範囲の 6 桁
           の数)
  TT     - 午前午後の標識 (AM または PM)

YYYY、M、MM、D、DD、または DDD が指定されていない場合、 省略時値として 1 が割り当てられます。 他の要素が指定されていない場合には、 省略時値として 0 が割り当てられます。 以下に、タイム・スタンプ形式の例を示します。

   "YYYY/MM/DD HH:MM:SS.UUUUUU"

次の例では、ユーザー定義の日時形式を含むデータを、schedule という表にインポートする方法を示します。

   db2 import from delfile2 of del
      modified by timestampformat="yyyy.mm.dd hh:mm tt"
      insert into schedule
noeofchar オプションのファイル終了文字 x'1A' は、 ファイル終了として識別されません。 それが普通の文字であるかのようにして処理は継続されます。
ASC (区切りなし ASCII) ファイル形式
binarynumerics 数値データ (DECIMAL 以外) は、バイナリー形式でなければならず、 文字表示であってはなりません。 これによって、コストの大きい変換操作を避けることができます。

このオプションがサポートされるのは、定位置 ASC において、 reclen オプションによって固定長レコードが指定されている場合だけです。 noeofchar オプションが前提です。

以下の規則が適用されます。

  • データ型の変換は実行されません。ただし、 BIGINT、 INTEGER、および SMALLINT については実行されます。
  • データ長は、ターゲット列定義と一致している必要があります。
  • FLOAT は、IEEE 浮動小数点形式でなければなりません。
  • ロードのソース・ファイルに含まれるバイナリー・データは、 ロード操作がどのプラットフォームで実行されるとしても、 ビッグ・エンディアンであることが前提です。

注:この修飾子の影響を受ける列のデータにヌル値があってはなりません。 この修飾子が使用されると、 ブランク (通常はヌル値として解釈される) は 1 個のバイナリー値として解釈されます。

nochecklengths nochecklengths を指定した場合は、 ソース・データの中にターゲット表列のサイズを超える列定義が含まれている場合であっても、 各行のロードが試みられます。 コード・ページ変換によってソース・データが縮小されれば、 そのような行であったとしても正常にロードすることができます。 たとえば、ソースに 4 バイトの EUC データがある場合、 それがターゲットで 2 バイトの DBCS データに縮小されれば、必要なスペースは半分で済みます。 列定義が一致しなくてもソース・データがきちんと収まることが明らかな場合に、 このオプションは特に便利です。
nullindchar=x x は単一文字です。 ヌル値を示す文字を x に変更します。 x の省略時値は Y です。b

EBCDIC データ・ファイルの場合、この修飾子は大文字小文字を区別しますが、 英字の場合は区別しません。 たとえば、ヌル標識文字を文字 N に指定した場合、 n もヌル標識として認識されます。

packeddecimal binarynumerics 修飾子には DECIMAL フィールド・タイプが含まれないので、 パック 10 進データを直接ロードします。

このオプションがサポートされるのは、定位置 ASC において、 reclen オプションによって固定長レコードが指定されている場合だけです。 noeofchar オプションが前提です。

ニブル符号用にサポートされる値は以下のとおりです。

   + = 0xC 0xA 0xE 0xF
   - = 0xD 0xB

注:この修飾子の影響を受ける列のデータにヌル値があってはなりません。 この修飾子が使用されると、 ブランク (通常はヌル値として解釈される) は 1 個のバイナリー値として解釈されます。

サーバーのプラットフォームには関係なく、 ロードのソース・ファイルに含まれるバイナリー・データのバイト順はビッグ・エンディアンであることが前提となっています。 つまり、この修飾子を OS/2 または Windows オペレーティング・システムで使用する場合も、 バイト順を逆にしてはなりません。

reclen=x x は、32 767 以下の整数です。 1 行につき x 文字ずつ読まれます。 改行文字は行の終了にはなりません。
striptblanks 可変長フィールドにデータをインポートする場合に、後書きブランクをすべて切り捨てます。 このオプションを指定しない場合、ブランク・スペースはそのまま保持されます。

このオプションは、striptnulls と一緒には指定できません。 それらは相互に排他的なオプションです。

注:このオプションは、廃止された t オプション (後方互換性のためだけにサポートされる) に代わるものです。

striptnulls 可変長フィールドにデータをインポートする場合に、 後書きヌル値 (0x00 文字) をすべて切り捨てます。 このオプションを指定しない場合、ヌル値はそのまま保持されます。

このオプションは、striptblanks と一緒には指定できません。 それらは相互に排他的なオプションです。

注:このオプションは、廃止された padwithzero オプション (後方互換性のためだけにサポートされる) に代わるものです。

zoneddecimal BINARYNUMERICS 修飾子には DECIMAL フィールド・タイプが含まれないので、 ゾーン 10 進データをロードします。 このオプションがサポートされるのは、定位置 ASC において、 RECLEN オプションによって固定長レコードが指定されている場合だけです。 NOEOFCHAR オプションが前提です。

ハーフバイト符号値は、以下のいずれかになります。

   + = 0xC 0xA 0xE 0xF
   - = 0xD 0xB

サポートされている数値は、0x00x9 です。

サポートされているゾーン値は、0x30xF です。

DEL (区切り付き ASCII) ファイル形式
chardelx x は単一文字ストリング区切り文字です。 省略時値は二重引用符 (") です。 指定した文字は、文字ストリングを囲むために、二重引用符の代わりに使用されます。bc

単一引用符 (') も次のように文字ストリング区切り文字として指定できます。

      modified by chardel''
coldelx x は単一文字列区切り文字です。 省略時値はコンマ (,) です。 指定した文字は、列の終わりを表すために、 コンマの代わりに使用されます。bc
datesiso 日付形式。 すべての日付データ値を ISO 形式でロードします。
decplusblank 正符号文字。 これによって正の 10 進値の先頭に正符号 (+) ではなく、ブランク・スペースが置かれます。 省略時のアクションでは、正の 10 進数の前に正符号 (+) が付けられます。
decptx x は、小数点としてピリオドと置換される単一文字です。 省略時値はピリオド (.) です。 指定した文字は、小数点文字としてピリオドの代わりに使用されます。bc
delprioritychar 区切り文字の現在の省略時優先順位は、 (1) レコード区切り文字、(2) 文字区切り文字、(3) 列区切り文字です。 この修飾子を使用すると、区切り文字の優先順位が (1) 文字区切り文字、(2) レコード区切り文字、(3) 列区切り文字に戻り、 以前の優先順位に依存している既存のアプリケーションが保護されます。 構文は次のとおりです。

   db2 load ... modified by delprioritychar ...

たとえば、次のような DEL データ・ファイルがあるとします。

   "Smith, Joshua",4000,34.98<row delimiter>
   "Vincent,<row delimiter>, is a manager", ...
   ... 4005,44.37<row delimiter>

delprioritychar 修飾子を指定すれば、このデータ・ファイルは 2 行だけになります。 2 番目の <row delimiter> は 2 番目の行の最初のデータ列の一部として解釈されるのに対し、 1 番目と 3 番目の <row delimiter> は実際のレコード区切り文字として解釈されます。 この修飾子を指定しなかった場合は、 このデータ・ファイルは 3 行のままで、各行は <row delimiter> によって区切られます。

dldelx x は単一文字の DATALINK 区切り文字です。 省略時値はセミコロン (;) です。 指定した文字はセミコロンの代わりに、DATALINK 値のフィールド間区切り文字として使用されます。 DATALINK 値には副値が複数個含まれる場合があるため、これが必要になります。bcd

注:行、列、 または文字ストリング区切り文字と同じ文字を x に指定することはできません。

keepblanks タイプが CHAR、VARCHAR、LONG VARCHAR、または CLOB である各フィールドの前後のブランクを保存します。 このオプションを指定しないと、文字区切り文字で囲まれていないすべての前後のブランクは除去され、 表のすべてのブランク・フィールドにヌルが挿入されます。

以下の例では、データ・ファイルにある前後のブランクを保存しながら、 TABLE1 という表にデータをロードする方法を示します。

   db2 load from delfile3 of del
      modified by keepblanks
      insert into table1
nodoubledel 二重文字区切り文字の認識を抑止します。 詳細については、区切り文字の制限を参照してください。
IXF ファイル形式
forcein コード・ページが一致していなくてもデータを受け入れ、 コード・ページの変換を抑制するようにユーティリティーに指示します。

固定長ターゲット・フィールドは、 データを入れるだけの十分な大きさがあるかどうかが検査されます。 nochecklengths を指定した場合、 そのような検査は実行されず、各行のロードが試みられます。

nochecklengths nochecklengths を指定した場合は、 ソース・データの中にターゲット表列のサイズを超える列定義が含まれている場合であっても、 各行のロードが試みられます。 コード・ページ変換によってソース・データが縮小されれば、 そのような行であったとしても正常にロードすることができます。 たとえば、ソースに 4 バイトの EUC データがある場合、 それがターゲットで 2 バイトの DBCS データに縮小されれば、必要なスペースは半分で済みます。 列定義が一致しなくてもソース・データがきちんと収まることが明らかな場合に、 このオプションは特に便利です。

注:

  1. MODIFIED BY オプションでサポートされていないファイル・タイプが指定されても、 ロード・ユーティリティーが警告を発することはありません。 サポートされていないファイル・タイプを使おうとすると、 ロード操作は失敗し、エラー・コードが戻されます。

  2. a 日付形式ストリングを囲む二重引用符は必須です。 フィールド区切り文字には、 a〜z、A〜Z、および 0〜9 を含めることはできません。 フィールド区切り文字は、文字区切り文字、 または DEL ファイル形式のフィールド区切り文字と同じであってはなりません。 フィールド区切り文字は、要素の開始および終了位置が明確な場合は任意指定です。 (修飾子によって) D、H、M、または S などの要素が使用される場合、 項目が可変長であるためにあいまいさが存在することがあります。

    タイム・スタンプ形式の場合、月と分の記述子の両方に文字 M が使用されるので、 あいまいさを避けるように注意する必要があります。 月フィールドは、他の日付フィールドと隣接していなければなりません。 分フィールドは、他の時刻フィールドと隣接していなければなりません。 以下に、いくつかのあいまいなタイム・スタンプ形式を示します。

       "M" (月または分のどちらにもとれる)
       "M:M" (月と分が区別がつかない)
       "M:YYYY:M" (両方とも月と解釈される)
       "S:M:YYYY" (時刻値と日付値の両方に隣接している)
    

    あいまいな場合、ユーティリティーはエラー・メッセージを報告し、操作は失敗します。

    以下に示すのは、明確なタイム・スタンプ形式です。

       "M:YYYY" (M (月))
       "S:M" (M (分))
       "M:YYYY:S:M" (M (月)....M (分))
       "M:H:YYYY:M:D" (M (分)....M (月))
    

    注:二重引用符や円記号などの文字は、 エスケープ文字が先行する必要があります (たとえば \)。

  3. b この文字は、 ソース・データのコード・ページで指定されている必要があります。

    (文字記号ではなく) 文字コード・ポイントは、 xJJ または 0xJJ という構文で指定することができます (JJ はコード・ポイントの 16 進表示)。 たとえば、列区切りとして # 文字を指定するには、 以下のうちの 1 つを使用します。

       ... modified by coldel# ...
       ... modified by coldel0x23 ...
       ... modified by coldelX23 ...
    

  4. c 区切り文字の制限に、 区切り文字の指定変更として使用できる文字に適用される制限のリストが示されています。

  5. d DATALINK 区切り文字は URL 構文の中では有効な文字ですが、 ロード操作のスコープ内ではその特別な意味がなくなります。

以下も参照

LOAD QUERY

QUIESCE TABLESPACES FOR TABLE


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]