デフォルト: LOGFILE
が指定されない場合、デフォルトのディレクトリにログ・ファイルが作成され、ログ・ファイルの名前は、表名および.log
の拡張子を持つプロセスIDから生成されます。ログ・ファイルがすでに同じ名前で存在する場合は、アクセス・ドライバによってそのログ・ファイルが再びオープンされ、新しいログ情報がファイルの終わりに追加されます。
用途
LOGFILE
は、ダンプ・ファイルのアクセス中に生成されたすべてのメッセージを含むログ・ファイルの名前を指定します。NOLOGFILE
を使用してログ・ファイルの作成を回避できます。
構文および説明
NOLOGFILE
または
LOGFILE [directory_object:]logfile_name
ログ・ファイル名の一部としてディレクトリ・オブジェクトを指定しない場合、DEFAULT
DIRECTORY
属性で指定されたディレクトリ・オブジェクトが使用されます。ディレクトリ・オブジェクトが指定されず、デフォルトのディレクトリも指定されない場合は、エラーが返されます。置換変数を使用してパラレル・ロードおよびパラレル・アンロード中に一意のファイル名を作成する方法については、「LOGFILEのファイル名」を参照してください。
例
次の例では、ダンプ・ファイルdept_dmp
は、ディレクトリ・オブジェクトload_dir
で識別されるディレクトリ内にありますが、ログ・ファイルdeptxt
.log
は、ディレクトリ・オブジェクトlog_dir
で識別されるディレクトリ内にあります。
CREATE TABLE dept_xt (dept_no INT, dept_name CHAR(20), location CHAR(20)) ORGANIZATION EXTERNAL (TYPE ORACLE_DATAPUMP DEFAULT DIRECTORY load_dir ACCESS PARAMETERS (LOGFILE log_dir:deptxt) LOCATION ('dept_dmp'));
パラレル・ロードでファイル名を一意にするには、アクセス・ドライバで記号置換を行います。サポートされている記号置換は次のとおりです。
%p
は、現行のプロセスのプロセスIDに置換されます。たとえば、アクセス・ドライバのプロセスIDが12345の場合、exttab_%p
.log
は、exttab_12345.log
となります。
%a
は、現行のプロセスのエージェント番号に置換されます。エージェント番号は、外部表にアクセスしている各パラレル・プロセスに割り当てられた一意の番号です。この番号には、3文字になるように、左側に0が埋められます。たとえば、3番目のパラレル・エージェントがファイルを作成する際に、exttab_%a
.log
がファイル名として指定されている場合、エージェントはexttab_003.log
というファイルを作成します。
%%
は、%
に置換されます。ファイル名にパーセント符号が必要な場合、この記号置換を使用する必要があります。
%
文字に前述のリスト内の文字以外の文字が続く場合、エラーが返されます。
%p
または%a
を使用しないで出力ファイルに対して一意のファイル名を作成し、外部表にパラレルでアクセス中の場合、出力ファイルが破損するか、エージェントがファイルに書込みをできないという問題が発生する場合があります。
ファイルに対して拡張子が指定されていない場合は、デフォルトの拡張子である.log
が使用されます。生成された名前が有効なファイル名ではない場合、エラーが返され、データのロードまたはアンロードは行われません。