パラレル・ダイレクト・パス・ロードを実行する場合、ローダーによって割り当てられる一時セグメントの属性を指定してできるオプションがあります。これらのオプションは、FILE
およびSTORAGE
パラメータを使用して指定します。これらのパラメータはパラレル・ロードに対してのみ有効です。
最大の入出力スループットを得るために、同時実行のダイレクト・パス・ロード・セッションで、各ファイルを別のディスクに置いて使用することをお薦めします。SQL*Loader制御ファイルでは、ロードされるオブジェクト(表またはパーティション)の表領域にある有効なデータ・ファイルであれば、OPTIONS
句のFILE
パラメータを使用してファイル名を指定できます。
次に例を示します。
LOAD DATA INFILE 'load1.dat' INSERT INTO TABLE emp OPTIONS(FILE='/dat/data1.dat') (empno POSITION(01:04) INTEGER EXTERNAL NULLIF empno=BLANKS ...
同時実行する各SQL*Loaderセッションのコマンドラインでも、FILE
パラメータを指定できます。ただし、その指定は、そのセッションでロードされるすべてのオブジェクトにグローバルに適用されます。
パラレル・ダイレクト・パス・ロードでは、Oracle DatabaseのFILE
パラメータに次の制限があります。
非パーティション表の場合: 指定されたファイルは、ロードする表と同じ表領域に存在する必要があります。
パーティション表の1つのパーティションをロードする場合: 指定したファイルは、ロードするパーティションの表領域に存在する必要があります。
パーティション表の表全体をロードする場合: 指定されたファイルは、ロードするすべてのパーティションと同じ表領域に存在する必要があります。つまり、すべてのパーティションは同じ表領域に存在する必要があります。
STORAGE
パラメータを使用して、パラレル・ダイレクト・パス・ロード用に割り当てられる一時セグメントの記憶域属性を指定できます。STORAGE
パラメータが使用されない場合は、ロードされるオブジェクト(表、パーティション)が存在するセグメントの記憶域属性が使用されます。また、STORAGE
パラメータが指定されてない場合は、SQL*LoaderでEXTENTS
用にデフォルトの2KBが使用されます。
たとえば、STORAGE
パラメータを指定するためには、次のOPTIONS
句が使用されます。
OPTIONS (STORAGE=(INITIAL 100M NEXT 100M PCTINCREASE 0))
STORAGE
パラメータを使用できるのは、SQL*Loader制御ファイル内のみでコマンドラインでは使用できません。STORAGE
パラメータは、PCTINCREASE
を0(ゼロ)に設定する、INITIAL
またはNEXT
値を設定する以外には、使用しないでください。暗黙的に無視される可能性があります。