Hitachi

Hitachi Advanced Data Binder コマンドリファレンス


17.2.2 インポートオプションの形式

〈この項の構成〉

(1) 指定形式

論理エラーデータの出力に関するオプション
  〔set adb_import_errdata_file_name = 論理エラーデータファイル名〕
  〔set adb_import_errdata_num = 論理エラーデータの出力件数の上限〕
  〔set adb_import_errmsg_lv = {0|1}〕
 
性能に関するオプション
  〔set adb_import_rthd_num = adbimportコマンドが使用する処理リアルスレッド数〕
  〔set adb_import_read_size = バッファサイズ〕
  〔set adb_import_buff_blk_num = バッファブロック数〕
  〔set adb_import_sort_buff_size = ソートバッファサイズ〕
  〔set adb_import_dividx_rd_buff_size = B-treeインデクスとテキストインデクスの入力バッファサイズ〕
  〔set adb_import_dividx_wt_buff_size = B-treeインデクスとテキストインデクスの出力バッファサイズ〕
  〔set adb_import_txt_buff_size = テキストインデクスの作成用バッファサイズ〕
  〔set adb_import_decompress_buff_size = GZIP形式で圧縮した入力データファイルの伸長用バッファサイズ入力データに関するオプション
  〔set adb_import_null_string = {DEFAULT|NULL}〕

上記のインポートオプションの指定規則は,サーバ定義と同じです。サーバ定義の指定規則については,マニュアルHADB システム構築・運用ガイドサーバ定義の文法規則を参照してください。

(2) 指定形式の説明

(a) 論理エラーデータの出力に関するオプション

adb_import_errdata_file_name = 論理エラーデータファイル名

〜〈OSパス名〉((2〜510バイト))

論理エラーデータファイルのファイル名を絶対パス名で指定します。論理エラーデータファイルには,入力データの論理エラーが発生した行データが出力されます。

このオプションを省略した場合,論理エラーが発生した行データはファイルに出力されません。

なお,論理エラーデータファイル名は,ほかのファイル名と重複しないようにしてください。重複した場合,ファイル中のデータが失われるおそれがあります。論理エラーデータファイル名と重複しないようにする必要があるファイルについては,「17.11 注意事項」を参照してください。

adb_import_errdata_num = 論理エラーデータの出力件数の上限

〜〈整数〉((1〜4,294,967,295))《100》

論理エラーデータファイルに出力する論理エラーデータの出力件数の上限を指定します。例えば,このオプションに200を指定した場合,201個目以降の論理エラーデータはファイルに出力されません。

なお,論理エラーデータの個数が,このオプションの指定値を超えても,インポート処理は続行されます。

adb_import_errmsg_lv = 0|1

論理エラーの発生時,論理エラーの原因を示すメッセージを出力するかどうかを指定します。

0メッセージを出力します。

1メッセージを出力しません。

このオプションを省略した場合,0が仮定されるため,論理エラーの原因を示すメッセージが出力されます。

1つの論理エラーに対して1つのメッセージが出力されます。そのため,論理エラーが多い場合,出力されるメッセージの数も多くなります。

上記で説明した論理エラーデータの出力に関するオプションは,次の表を参考にして指定してください。

表17‒4 ケース別のインポートオプションの指定の目安

項番

ケース

関連するインポートオプション

説明

1

論理エラーデータを修正し,修正したデータをインポートする場合

  • adb_import_errdata_file_name

  • adb_import_errdata_num

左記に示すオプションを指定して,論理エラーデータを論理エラーデータファイルに出力してください。

2

論理エラーデータは必要ない場合(データを修正してインポートする必要がない場合)

  • adb_import_errdata_file_nameを省略して論理エラーデータが出力されないようにする

  • adb_import_errmsg_lv = 1を指定して論理エラーの原因を示すメッセージの出力を抑止する

左記に示すようにオプションを指定して,論理エラーデータに関する情報の出力を抑止してください。

論理エラーデータが大量にある場合,論理エラーデータに関する情報が大量に出力され性能に影響を及ぼすことがあります。そのため,左記のようにインポートオプションを指定して,論理エラーデータに関する情報の出力を抑止します。

3

論理エラーデータがあるときに,インポートを中断する場合

インポートオプションを指定する必要はありません。

adbimportコマンドの実行時,-eオプションを指定してください。論理エラーデータが検出された場合,インポートが中断され,トランザクションはロールバックします(入力データは1件もインポートされません)。このとき,リターンコード8が返されます。

-eオプションについては,「17.2.1 指定形式およびオプションの説明」の「(3) オプションの説明」の「-e」オプションを参照してください。

(b) 性能に関するオプション

adb_import_rthd_num = adbimportコマンドが使用する処理リアルスレッド数

〜〈整数〉((2〜4,096))

adbimportコマンド実行時に使用する処理リアルスレッド数を指定します。

このオプションは,指定を推奨するオプションです。adbimportコマンドは,このオプションで指定した値の処理リアルスレッド数を使用します。このため,adbimportコマンドで使用したい処理リアルスレッド数に応じて,このオプションに適切な値を指定してください。adbimportコマンドが処理リアルスレッドを使用する処理,および各処理で使用する処理リアルスレッド数については,「17.1.3 adbimportコマンドが使用するスレッドの関係」を参照してください。

このオプションを省略した場合,adbimportコマンド実行時に使用する処理リアルスレッド数は,サーバ定義adb_sql_exe_max_rthd_numオペランドによって決まります。このオプションまたはサーバ定義adb_sql_exe_max_rthd_numオペランドの指定値と,コマンド実行時に使用する処理リアルスレッド数の関係を次の表に示します。

表17‒5 コマンド実行時に使用する処理リアルスレッド数

項番

このオプションまたはサーバ定義の値

コマンド実行時に使用する処理リアルスレッド数

1

このオプションの指定を省略した場合

サーバ定義adb_sql_exe_max_rthd_numオペランドの指定を省略した場合

サーバ定義adb_sql_exe_max_rthd_numオペランドのデフォルト値を使用します。

2

サーバ定義adb_sql_exe_max_rthd_numオペランドに0または1を指定した場合

3

サーバ定義adb_sql_exe_max_rthd_numオペランドに2以上の値を指定した場合

サーバ定義adb_sql_exe_max_rthd_numオペランドに指定した値を使用します。

4

このオプションに2以上の値を指定した場合

このオプションに指定した値を使用します。

(凡例)

-:adbimportコマンドがエラーとなります。

サーバ定義adb_sql_exe_max_rthd_numオペランドの詳細については,マニュアルHADB システム構築・運用ガイド性能に関するオペランド(set形式)を参照してください。

重要

バックグラウンドインポートを実行する場合,adb_import_rthd_numの指定値によってデータの格納効率が変わることがあります。データの格納効率を良くするadb_import_rthd_numの指定値の求め方については,マニュアルHADB システム構築・運用ガイドマルチチャンク表にデータを格納する方法(バックグラウンドインポート)を参照してください。

adb_import_read_size = バッファサイズ

〜〈整数〉((32〜51,200))《1,024》(単位:キロバイト)

入力データファイルの読み込み処理で使用するバッファのサイズをキロバイト単位で指定します。次に示す値を目安としてください。

インポートデータのレコード件数×1行当たりの入力データ長÷10,000

adb_import_buff_blk_num = バッファブロック数

〜〈整数〉((5〜4,096))《64》

データインポート処理で使用するバッファのブロック数を指定します。

基本的にはデフォルト値のままで問題ありませんが,このオプションの指定値を大きくすると,データインポート処理の性能が向上することがあります。

adb_import_sort_buff_size = ソートバッファサイズ

〜〈整数〉((1〜2,048))《256》(単位:メガバイト)

インポート対象表にB-treeインデクスまたはテキストインデクスが定義されている場合に,このオプションの指定を検討してください。このオプションには,B-treeインデクスおよびテキストインデクスの作成処理時に使用するソートバッファサイズをメガバイト単位で指定します。

メモリに余裕がある場合は指定値を大きくしてください。指定値を大きくするほど性能向上が見込めます。

adb_import_dividx_rd_buff_size = B-treeインデクスとテキストインデクスの入力バッファサイズ

〜〈整数〉((32〜51,200))《1,024》(単位:キロバイト)

インポート対象表にB-treeインデクスまたはテキストインデクスが定義されている場合に,このオプションの指定を検討してください。

このオプションには,B-treeインデクスおよびテキストインデクスの作成処理時に使用する入力バッファサイズをキロバイト単位で指定します。メモリに余裕がある場合は指定値を大きくしてください。指定値を大きくするほど性能向上が見込めます。

adb_import_dividx_wt_buff_size = B-treeインデクスとテキストインデクスの出力バッファサイズ

〜〈整数〉((32〜51,200))《1,024》(単位:キロバイト)

インポート対象表にB-treeインデクスまたはテキストインデクスが定義されている場合に,このオプションの指定を検討してください。

このオプションには,B-treeインデクスおよびテキストインデクスの作成処理時に使用する出力バッファサイズをキロバイト単位で指定します。メモリに余裕がある場合は指定値を大きくしてください。指定値を大きくするほど性能向上が見込めます。

adb_import_txt_buff_size = テキストインデクスの作成用バッファサイズ

〜〈整数〉((1〜2,048))《256》(単位:メガバイト)

インポート対象表にテキストインデクスが定義されている場合に,このオプションの指定を検討してください。

このオプションには,テキストインデクスの作成処理時に使用するバッファサイズをメガバイト単位で指定します。

このオプションの指定値を大きくすると性能向上が見込めます。ただし,テキストインデクスを作成する全処理リアルスレッドで,このオプションで指定したバッファ分のメモリを使用します。このため,このオプションの指定値を大きくするときは注意してください。

adb_import_decompress_buff_size = GZIP形式で圧縮した入力データファイルの伸長用バッファサイズ

〜〈整数〉((32〜51,200))《1,024》(単位:キロバイト)

このオプションには,GZIP形式で圧縮した入力データファイルのデータ伸長時に使用するバッファサイズをキロバイト単位で指定します。

インポートオプションadb_import_read_sizeに指定した値を,このオプションの指定値の目安としてください。

GZIP形式で圧縮した入力データファイルのデータをインポートする際,このオプションに指定した分だけ,圧縮したデータを伸長するためのバッファを使用します。

(c) 入力データに関するオプション

adb_import_null_string = {DEFAULT|NULL}

表定義時にDEFAULT句を指定した列に格納する入力データが空文字列の場合に,列の既定値を格納するか,またはナル値を格納するかを指定します。

DEFAULT

列の既定値が格納されます。列の既定値については,次に示す項目を参照してください。

  • マニュアルHADB SQLリファレンス構成要素DEFAULT句DEFAULT句の指定形式および規則

  • マニュアルHADB システム構築・運用ガイドデータベースの設計表の設計列の既定値の設定(DEFAULT句)

NULL

ナル値が格納されます。

このオプションを省略した場合,DEFAULTが仮定されるため,入力データが空文字列のときは列の既定値が格納されます。

入力データに空文字列を指定する方法については,「17.5.3 フィールドデータの記述形式(CSV形式)」または「17.6.3 フィールドデータの記述形式(固定長形式)」を参照してください。