8 SQL*Loaderコマンドライン・リファレンス
通常のSQL*Loaderを起動するには、コマンドライン・パラメータを使用します。
注意:
通常のSQL*LoaderとSQL*Loaderエクスプレス・モードでは、同じパラメータをいくつか共有していますが、これらのパラメータの動作はユーティリティごとに異なる場合があります。ここで説明するパラメータの説明は、通常のSQL*Loaderを対象としています。SQL*Loader Expressのオプションについては、SQL*Loader Expressのパラメータを参照してください。
- SQL*Loaderの起動
SQL*Loaderの起動方法と、ロードの実行方法を管理するパラメータの指定方法について説明します。 - SQL*Loaderのコマンドライン・パラメータ
コマンドライン・パラメータを使用して、SQL*Loaderを管理します。 - 終了コードによる結果の検査と表示
Oracle SQL*Loaderでは、SQL*Loaderの完了後、すぐに実行結果を確認できます。 
親トピック: SQL*Loader
8.1 SQL*Loaderの起動
SQL*Loaderの起動方法と、ロードの実行方法を管理するパラメータの指定方法について説明します。
すべてのSQL*Loaderパラメータをリストするヘルプ画面を表示するには、プロンプトでsqlldrと入力し、[Enter]を押します。出力には、パラメータのデフォルト値を含む各パラメータと、各パラメータの簡単な説明が表示されます。
                  
- コマンドラインでのパラメータの指定
SQL*Loaderを起動する際に、ロード操作の様々な特性を確立するためにパラメータを指定します。 - SQL*Loaderのパラメータ指定の代替方法
コマンドラインの長さが、システムの行の最大サイズを超える場合は、OPTIONS句を使用して、一部のコマンドライン・パラメータを制御ファイルに格納できます。 - ネットワークを介してデータをロードするためのSQL*Loaderの使用
ネットワーク接続を介してデータをロードするためにSQL*Loaderを使用するには、SQL*Loaderユーティリティの起動時に、接続文字列に接続識別子を指定します。 
親トピック: SQL*Loaderコマンドライン・リファレンス
8.1.1 コマンドラインでのパラメータの指定
SQL*Loaderを起動する際に、ロード操作の様々な特性を確立するためにパラメータを指定します。
パラメータはカンマで区切ることができます。ただし、パラメータをカンマで区切る必要はありません。
> sqlldr CONTROL=ulcase1.ctl LOG=ulcase1.log
Username: scott
Password: password
 
                        位置で指定するとは、パラメータ名は入力せずに、値を入力するということです。次の例では、ユーザー名scottが指定され、その後にulcase1.ctlという制御ファイルの名前が指定されています。パスワードを入力するように要求されます。
                        
> sqlldr scott ulcase1.ctl
Password: password
 
                        パラメータ名を使用した後は、すべての後続の指定でパラメータ名を指定する必要があります。位置で指定することはできなくなります。たとえば、次のコマンドではCONTROLパラメータを使用して制御ファイル名を指定していますが、ログ・ファイル名はLOGパラメータなしで指定しています(前の例ではLOGパラメータが指定されてました)。ulcase1.logの位置が正しい場合でも、このコマンドを送信するとエラーになります。
                        
> sqlldr scott CONTROL=ulcase1.ctl ulcase1.log
                        コマンドを実行するには、LOGパラメータを具体的に指定してコマンドを入力する必要があります。
                        
> sqlldr scott CONTROL=ulcase1.ctl LOG=ulcase1.log
                        親トピック: SQL*Loaderの起動
8.1.2 SQL*Loaderのパラメータ指定の代替方法
コマンドラインの長さが、システムの行の最大サイズを超える場合は、OPTIONS句を使用して、一部のコマンドライン・パラメータを制御ファイルに格納できます。
                     
また、パラメータをパラメータ・ファイルとしてグループ化することもできます。このファイルの名前は、SQL*Loaderの起動時に、PARFILEパラメータを使用してコマンドラインで指定できます。
                        
パラメータ指定のこれらの代替方法は、同じパラメータを同じ値で繰り返し使用する場合に有効です。
コマンドラインで指定したパラメータ値は、パラメータ・ファイルまたはOPTIONS句で指定したパラメータ値を上書きします。
                        
親トピック: SQL*Loaderの起動
8.1.3 ネットワークを介してデータをロードするためのSQL*Loaderの使用
ネットワーク接続を介してデータをロードするためにSQL*Loaderを使用するには、SQL*Loaderユーティリティの起動時に、接続文字列に接続識別子を指定します。
この識別子では、現在のユーザーのORACLE_SID環境変数の設定によって指定した現行のインスタンスとは別のデータベース・インスタンスを指定できます。接続識別子には、Oracle Net接続記述子または接続記述子にマップするネット・サービス名(通常、tnsnames.oraファイルで定義される)を指定できます。接続識別子を使用するには、Oracle Net Listenerが実行中であることが必要です(デフォルト・リスナーを起動するには、lsnrctl startと入力します)。次に、ユーザーscottがinst1という接続識別子を使用してSQL*Loaderを起動する例を示します。
                        
> sqlldr CONTROL=ulcase1.ctl Username: scott@inst1 Password: password
ローカルSQL*Loaderクライアントは接続識別子inst1(ネット・サービス名)によって定義されるデータベース・インスタンスに接続し、ulcase1.ctl制御ファイルの指定に従ってデータをロードします。
                        
注意:
プラガブル・データベース(PDB)にデータをロードするには、SQL*Loaderの起動時に、単純に接続文字列に接続識別子を指定します。
関連項目:
- 
                              
接続識別子およびOracle Net Listenerの詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。
 - 
                              
PDBの詳細は、『Oracle Database概要』を参照してください。
 
親トピック: SQL*Loaderの起動
8.2 SQL*Loaderのコマンドライン・パラメータ
コマンドライン・パラメータを使用してSQL*Loaderを管理します。
ここで使用されているコマンドライン・パラメータのデフォルト値および最大値は、LinuxベースおよびUnixベースのシステムでの値です。これらの値はオペレーティング・システムによって異なります。詳細は、オペレーティング・システムのドキュメントを参照してください。
- BAD
SQL*LoaderのBADコマンドライン・パラメータでは、最初のデータ・ファイル指定に関連付けられた不良ファイルの名前と場所(またはそのどちらか)を指定します。 - BINDSIZE
SQL*LoaderのBINDSIZEコマンドライン・パラメータでは、バインド配列の最大サイズ(バイト単位)を指定します。 - COLUMNARRAYROWS
SQL*LoaderのCOLUMNARRAYROWSコマンドライン・パラメータでは、ダイレクト・パス列配列に割り当てる行数を指定します。 - CONTROL
SQL*LoaderのCONTROLコマンドライン・パラメータでは、データのロード方法が記述されているSQL*Loader制御ファイルの名前を指定します。 - CREDENTIAL
SQL*LoaderのCREDENTIALコマンドライン・パラメータを使用すると、オブジェクト・ストアに格納されているデータの読取りが可能になります。 - DATA
SQL*LoaderのDATAコマンドライン・パラメータでは、ロードするデータを含むデータ・ファイルの名前を指定します。 - DATE_CACHE
SQL*LoaderのDATE_CACHEコマンドライン・パラメータでは、日付キャッシュのサイズ(エントリ数)を指定します。 - DEFAULTS
SQL*LoaderのDEFAULTSコマンドライン・パラメータでは、デフォルト式の評価とロードを制御します。 - DEGREE_OF_PARALLELISM
SQL*LoaderのDEGREE_OF_PARALLELISMコマンドライン・パラメータでは、ロード操作中に使用する並列度を指定します。 - DIRECT
SQL*LoaderのDIRECTコマンドライン・パラメータでは、従来型パスまたはダイレクト・パスのどちらの方法でデータをロードするかを指定します。 - DIRECT_PATH_LOCK_WAIT
SQL*LoaderのDIRECT_PATH_LOCK_WAITコマンドライン・パラメータでは、ダイレクト・パス・ロードの表ロック待機中の動作を制御します。 - DISCARD
SQL*LoaderのDISCARDコマンドライン・パラメータでは、表に挿入されず、拒否もされないレコードを格納するための廃棄ファイルをオプションで指定できます。 - DISCARDMAX
SQL*LoaderのDISCARDMAXコマンドライン・パラメータでは、データのロードが終了するまでに許可される廃棄レコードの数を指定します。 - DNFS_ENABLE
DNFS_ENABLESQL*Loaderコマンドライン・パラメータを使用すると、SQL*Loader操作中の入力データ・ファイルに対するDirect NFSクライアントの使用を有効化および無効化できます。 - DNFS_READBUFFERS
DNFS_READBUFFERSSQL*Loaderコマンドライン・パラメータを使用すると、Direct NFSクライアントで使用される読取りバッファの数を制御できます。 - EMPTY_LOBS_ARE_NULL
SQL*Loaderのコマンドライン・パラメータEMPTY_LOBS_ARE_NULLでは、使用可能なデータが存在しないLOB列を空のLOBではなくNULLに設定するように指定します。 - ERRORS
ERRORS SQL*Loaderコマンドライン・パラメータでは、許可される挿入エラーの最大数を指定します。 - EXTERNAL_TABLE
EXTERNAL_TABLEパラメータでは、データのロードに外部表オプションを使用するかどうかをSQL*Loaderに指示します。 - FILE
FILESQL*Loaderコマンドライン・パラメータでは、エクステントの割当て元となるデータベース・ファイルを指定します。 - HELP
SQL*Loaderのコマンドライン・パラメータHELPでは、SQL*Loaderユーティリティのオンライン・ヘルプを表示します。 - LOAD
SQL*Loaderのコマンドライン・パラメータLOADでは、ロードするレコードの最大数を指定します。 - LOG
SQL*Loaderのコマンドライン・パラメータLOGでは、SQL*Loaderがロード処理に関するログ情報を保存するログ・ファイルのディレクトリ・パスとファイル名(またはそのどちらか)を指定します。 - MULTITHREADING
SQL*Loaderのコマンドライン・パラメータMULTITHREADINGでは、サーバー・システムでのストリームのロードと同時にクライアント・システムでのストリームの構築を実行できるようにします。 - NO_INDEX_ERRORS
SQL*Loaderのコマンドライン・パラメータNO_INDEX_ERRORSでは、ダイレクト・パス・ロード中に索引付けエラーを許容するかどうかを指定します。 - PARALLEL
SQL*LoaderのPARALLELパラメータでは、ダイレクト・パスまたは外部表を使用するロードで、同じ表に複数の同時セッションでデータをロードできるかどうかを指定します。 - PARFILE
SQL*Loaderのコマンドライン・パラメータPARFILEでは、頻繁に使用するコマンドライン・パラメータを格納したファイルの名前を指定します。 - PARTITION_MEMORY
SQL*Loaderのコマンドライン・パラメータPARFILEでは、多数のパーティションのロード時に使用するメモリーの量を指定します。 - READSIZE
デフォルト値を使用しない場合は、SQL*Loaderのコマンドライン・パラメータREADSIZEで読取りバッファのサイズ(バイト単位)を指定します。 - RESUMABLE
SQL*Loaderのコマンドライン・パラメータRESUMABLEでは、再開可能な領域割当てを有効および無効にします。 - RESUMABLE_NAME
SQL*Loaderのコマンドライン・パラメータRESUMABLE_NAMEでは、再開可能な文を特定します。 - RESUMABLE_TIMEOUT
SQL*Loaderのコマンドライン・パラメータRESUMABLE_TIMEOUTでは、エラー修正までに必要な時間(秒単位)を指定します。 - ROWS
従来型パス・ロードの場合は、SQL*Loaderのコマンドライン・パラメータROWSでバインド配列の行数を指定します。 - SDF_PREFIX
SQL*Loaderのコマンドライン・パラメータSDF_PREFIXでは、ロード操作の一環として開かれるLOBFILEおよびセカンダリ・データ・ファイル(SDF)のファイル名に追加するディレクトリ接頭辞を指定します。 - SILENT
SQL*Loaderのコマンドライン・パラメータSILENTでは、SQL*Loaderの操作中に画面に出力される内容の一部を抑止します。 - SKIP
SQL*Loaderのコマンドライン・パラメータSKIPでは、ファイルの先頭からのロードが不要な論理レコード数を指定します。 - SKIP_INDEX_MAINTENANCE
SQL*Loaderのコマンドライン・パラメータSKIP_INDEX_MAINTENANCEでは、ダイレクト・パス・ロードの索引メンテナンスを停止するかどうかを指定します。 - SKIP_UNUSABLE_INDEXES
SQL*Loaderのコマンドライン・パラメータSKIP_UNUSABLE_INDEXESでは、索引使用禁止状態で出現した索引をスキップし、ロード操作を続行するかどうかを指定します。 - STREAMSIZE
SQL*Loaderのコマンドライン・パラメータSTREAMSIZEでは、クライアントからサーバーに送信するデータ・ストリームのサイズ(バイト単位)を指定します。 - TRIM
SQL*Loaderのコマンドライン・パラメータTRIMでは、テキスト・フィールドの先頭とテキスト・フィールドの末尾の両方(またはどちらか)から空白を切り捨てるかどうかを指定します。 - USERID
SQL*Loaderのコマンドライン・パラメータUSERIDでは、SQL*LoaderのOracleユーザー名とパスワードを指定します。 
親トピック: SQL*Loaderコマンドライン・リファレンス
8.2.1 BAD
SQL*LoaderのBADコマンドライン・パラメータでは、最初のデータ・ファイル指定に関連付けられた不良ファイルの名前と場所(またはそのどちらか)を指定します。
                     
デフォルト
.bad拡張子が付いたデータ・ファイルの名前。
                        
用途
最初のデータ・ファイルの指定に関連する不良ファイルの名前または場所(あるいはその両方)を指定します。
構文および説明
BAD=[directory/][filename]
不良ファイルには、挿入時にエラーの原因になったレコードや、不適切に書式化されたレコードが格納されます。BADパラメータを指定する場合は、ディレクトリとファイル名(またはそのどちらか)を指定する必要があります。拒否されたレコードが存在するときに、不良ファイルの名前を指定していない場合は、データ・ファイル名に拡張子またはファイル・タイプの.badが付いたものがデフォルトのファイル名になります。
                        
directoryに指定する値によって、書込み先にする不良ファイルのディレクトリを指定します。指定には、デバイスまたはネットワーク・ノードの名前を含めることができます。directoryの値は、次のように決定されます。
                        
- 
                              
BADパラメータが指定されていないときに、不良ファイルが必要になった場合は、SQL*Loaderの制御ファイルが存在するディレクトリがデフォルト・ディレクトリになります。 - 
                              
BADパラメータでファイル名を指定して、ディレクトリを指定していない場合は、カレント・ディレクトリがデフォルト・ディレクトリになります。 - 
                              
BADパラメータでディレクトリを指定して、ファイル名を指定していない場合は、指定したディレクトリが使用され、そのファイルのデフォルト名は、データ・ファイルの名前に拡張子またはファイル・タイプの.badが付いたものになります。 
filenameに指定する値には、対象プラットフォームで有効と認識されるファイル名を指定します。名前(および.bad以外のものを使用する場合は拡張子)のみを指定する必要があります。ファイル名に空白や句読点文字が含まれている場合は、一重引用符で囲む必要があります。 
                        
コマンドラインで指定された不良ファイルは、制御ファイルの最初のINFILE文(存在する場合)に関連する不良ファイルとなります。不良ファイルは、BADFILE句を使用することで、SQL*Loader制御ファイルで指定することもできます。不良ファイルが制御ファイルとコマンドラインの両方で指定された場合は、コマンドラインの値が使用されます。同じ名前の不良ファイルが存在している場合は、既存のファイルが上書きされることも、新しいバージョンのファイルが作成されることもあります(オペレーティング・システムに応じて異なります)。
                        
例
次の指定では、カレント・ディレクトリにemp1.badという不良ファイルを作成します。
                        
BAD=emp1関連トピック
親トピック: SQL*Loaderのコマンドライン・パラメータ
8.2.2 BINDSIZE
SQL*LoaderのBINDSIZEコマンドライン・パラメータでは、バインド配列の最大サイズ(バイト単位)を指定します。
                     
デフォルト
256000
用途
バインド配列の最大サイズ(バイト単位)を指定します。
構文および説明
BINDSIZE=n
バインド配列は、SQL*Loaderがロード対象のデータを格納するメモリー内の領域です。バインド配列が一杯の場合、データはデータベースに転送されます。バインド配列のサイズは、パラメータのBINDSIZEとREADSIZEで制御します。 
                        
BINDSIZEで指定されたバインド配列サイズは、デフォルト・サイズ(システムによって異なる)およびROWSに基づいて計算されたサイズよりも優先されます。
制限事項
- 
                              
BINDSIZEパラメータは、従来型パス・ロードでのみ使用します。 
例
次のBINDSIZEの指定では、バインド配列の最大サイズを356,000バイトに制限します。
                        
BINDSIZE=356000関連トピック
親トピック: SQL*Loaderのコマンドライン・パラメータ
8.2.3 COLUMNARRAYROWS
SQL*LoaderのCOLUMNARRAYROWSコマンドライン・パラメータでは、ダイレクト・パス列配列に割り当てる行数を指定します。
                     
デフォルト
5000
用途
ダイレクト・パス列配列に割り当てる行数を指定します。
構文および説明
COLUMNARRARYROWS=n
このパラメータの値は、SQL*Loaderでは計算されません。値を指定するか、またはデフォルトを使用する必要があります。
例
次の例では、ダイレクト・パス列配列に1000行を割り当てるように指定しています。
COLUMNARRAYROWS=10008.2.4 CONTROL
SQL*LoaderのCONTROLコマンドライン・パラメータでは、データのロード方法が記述されているSQL*Loader制御ファイルの名前を指定します。
                     
デフォルト
デフォルトはありません。
用途
データのロード方法が記述されているSQL*Loader制御ファイルの名前を指定します。
構文および説明
CONTROL=control_file_name
ファイル拡張子またはファイル・タイプを指定しないと、デフォルト設定の.ctlになります。CONTROLパラメータを指定しない場合、SQL*Loaderによってその入力を要求されます。
                        
SQL*Loader制御ファイルの名前に特殊文字が含まれている場合、オペレーティング・システムによっては、その文字をエスケープする必要があります。また、ファイル・システムのパスにバックスラッシュが使用されているオペレーティング・システムの場合は、複数のエスケープ文字を使用するか、そのパスを引用符で囲む必要があります。特殊文字の使用方法の詳細は、対象オペレーティング・システムのマニュアルを参照してください。
例
次の例では、emp1という制御ファイルを指定します。デフォルトの拡張子.ctlが自動的に付けられます。
                        
CONTROL=emp1関連トピック
親トピック: SQL*Loaderのコマンドライン・パラメータ
8.2.5 CREDENTIAL
SQL*LoaderのCREDENTIALコマンドライン・パラメータを使用すると、オブジェクト・ストアに格納されているデータの読取りが可能になります。
                     
デフォルト
なし。
用途
SQL*Loaderがオブジェクト・ストアを読み取ることができるようにします。データ・ファイルの場合、オブジェクト・ストアで読み取るデータ・ファイルのURIを指定できます。CREDENTIAL値は、SQL*Loaderを実行しているユーザーに付与される資格証明を指定します。これらの権限により、SQL*Loaderはオブジェクト・ストアにアクセスできます。
                        
構文および説明
次の構文では、変数user-credentialは次のものを使用するためにSQL*Loaderを指定するユーザー資格証明(ユーザー名またはパスワード)です。oracle.sqlldr.credential.user-credential.username
oracle.sqlldr.credential.user-credential.password使用上の注意
CREDENTIALパラメータを指定すると、SQL*Loaderは、キーに指定した値をオブジェクト・ストアのユーザー名とパスワードとして使用します。CREDENTIALを使用する前に、mkstoreコマンドを使用して有効な資格証明をあらかじめ作成しておく必要があります。
                        
制限事項
CREDENTIALを指定し、次の条件のいずれかに該当する場合は、エラーが表示されます。
                        
- Oracle Walletで1つまたは両方のキーが見つかりません
 DATAパラメータに指定されたファイルがURIではありません。- 制御ファイルの
INFILE句に指定されたファイルがURIではありません。 
データ・ファイルにURIが指定され、CREDENTIALパラメータが指定されていない場合は、エラーが表示されます。
                        
例
SQL*LoaderでCREDENTALパラメータを使用するには、ウォレットを作成して、データをロードするターゲットのウォレットのアクセス資格証明を定義します。次に、データをロードする権限を付与するユーザーの資格証明を特定します。そのタスクが完了したら、ウォレットの資格証明を使用して、データをターゲット・データベースにロードできます。 
                        
例:
- 
                              
                              
ウォレット・パスが
/u01/app/oracle/product/walletsで、パスワードがcloud-pw-exampleである場合、orapkiユーティリティを使用してウォレットを作成します。% orapki wallet create -wallet /u01/app/oracle/product/wallets -pwd cloud-pw-example -auto_login Oracle PKI Tool Release 20.0.0.0.0 - Production Version 21.0.0.0.0 Copyright (c) 2004, 2019, Oracle and/or its affiliates. All rights reserved. Operation is successfully completed.注意:
実際のパスワードについては、常に業界標準の安全なパスワードのプラクティスに従ってください。 - 
                              
                              
SQL*Loader資格証明の
obm_scottユーザーを作成します。このためには、mkstoreユーティリティを使用して、ユーザーIDsome_user、パスワードsome_passwordで使用できるデータベース接続文字列oracle.sqlldr.credential.obm_scottを定義します。% mkstore -wrl /u01/app/oracle/product/wallets -createEntry \ oracle.sqlldr.credential.obm_scott.username some_username % mkstore -wrl wallet_location_directory -createEntry oracle.sqlldr.credential.obm_scott.password \ some_password注意:
各資格証明では、ユーザーとパスワードのペアは1つのみです。
両方の
mkstoreコマンドにおいて、外部に格納されているobm_scott資格証明のパスワードを提供するよう求められます(この例ではcloud-pw-example)。 - 
                              
                              
最後に、SQL*Loaderを使用して、作成した資格証明を使用してデータをデータベースにロードします。例:
% sqlldr sqlldr/cdb1_pdb6 dept.ctl credential=obm_scott log=dept.log \ external_table=not_used proxy=https://www.example.com:80
次に、データをロードします。この例では、dept.csvです。LOAD DATA INFILE 'https://publickeyinfrastorage.example.com/v1/pkistore/dept.csv' truncate INTO TABLE DEPTOS FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' (DEPTNO, DNAME, LOC) 
親トピック: SQL*Loaderのコマンドライン・パラメータ
8.2.6 DATA
SQL*LoaderのDATAコマンドライン・パラメータでは、ロードするデータを含むデータ・ファイルの名前を指定します。
                     
デフォルト
制御ファイルと同じ名前ですが、拡張子は.datになります。
                        
用途
DATAパラメータでは、ロードするデータを含むデータ・ファイルの名前を指定します。
                        
構文および説明
DATA=data_file_name
ファイル拡張子を指定しない場合、デフォルトで.datになります。
                        
ファイルの指定にはワイルド・カード(ファイル名およびファイル拡張子にのみ可能で、デバイスまたはディレクトリ名には不可)を含めることができます。アスタリスク(*)は複数文字を表し、疑問符(?)は1文字を表します。例:
DATA='emp*.dat'
DATA='m?emp.dat'
複数のデータ・ファイルの指定(それぞれにワイルド・カードを含めることが可能)をリストするには、ファイル名をカンマで区切る必要があります。
ファイル名に任意の特殊文字(空白、*、?など)が含まれる場合、名前全体を一重引用符で囲む必要があります。
次に、DATAパラメータの有効な3つの使用例を示します(ファイル名に特殊文字が含まれる場合のみ、一重引用符が必要です)。
                        
DATA='file1','file2','file3','file4','file5','file6' 
DATA='file1','file2'
DATA='file3,'file4','file5'
DATA='file6'注意:
複数のデータ・ファイルがロードされる状況でBADパラメータも指定する場合、ファイル名ではなく、不良ファイルのディレクトリのみを指定することをお薦めします。指定した名前を持つファイルがすでに存在する場合、使用しているオペレーティング・システムに応じて、既存ファイルが上書きされるか、新しいバージョンのファイルが生成されます。 
                        コマンドラインでDATAパラメータを使用してデータ・ファイルを指定し、同時に制御ファイルでINFILE句を使用してデータ・ファイルを指定すると、制御ファイルの最初のINFILEの指定は無視されます。コマンドラインと制御ファイル内で指定された他のすべてのデータ・ファイルは処理されます。
                        
DATAパラメータと一緒にファイル処理オプションを指定すると、制御ファイルからのデータのロード時に、警告メッセージが発行されます。
                        
例
次の例では、employees.datというデータ・ファイルをロードするように指定します。拡張子が指定されていないため、.dat拡張子がデフォルトとみなされます。
                        
DATA=employees親トピック: SQL*Loaderのコマンドライン・パラメータ
8.2.7 DATE_CACHE
SQL*LoaderのDATE_CACHEコマンドライン・パラメータでは、日付キャッシュのサイズ(エントリ数)を指定します。
                     
デフォルト
使用可能(1000要素)。日付キャッシュ機能を完全に使用禁止にするには、0 (ゼロ)に設定します。
                        
用途
日付キャッシュのサイズ(エントリ数)を指定します。
日付キャッシュは、テキスト文字列から内部の日付書式への変換結果を格納するために使用されます。このキャッシュが役立つ理由は、テキスト形式から日付形式に変換するよりも、日付を検索するコストのほうがはるかに低いためです。日付ファイルに同じ日付が繰り返し出現する場合は、日付キャッシュを使用することで、ダイレクト・パス・ロードの速度を向上できます。
構文および説明
DATE_CACHE=n
必要に応じて、すべての表に固有の日付キャッシュが作成されます。日付キャッシュは、表に格納する前にデータ型の変換が必要になる日付値またはタイムスタンプ値が1つ以上ロードされた場合にのみ作成されます。
日付キャッシュ機能は、デフォルトで使用可能です。デフォルトの日付キャッシュ・サイズは1000要素です。デフォルトのサイズを使用しているときに、ロードされた一意の入力値の数が1000を超えると、その表に対する日付キャッシュ機能は自動的に使用禁止になります。ただし、デフォルトを上書きして0以外の日付キャッシュ・サイズを指定したときには、そのサイズを超過してもキャッシュは使用禁止になりません。
将来の同様のロードに向けてキャッシュ・サイズを調整する場合は、ログ・ファイルに含まれている日付キャッシュ統計(エントリ数、ヒット数およびミス数)を使用します。
制限事項
- 
                              
日付キャッシュ機能は、ダイレクト・パス・ロードと外部表ロードでのみ使用できます。
 
例
次の指定では、日付キャッシュ機能を完全に使用禁止にします。
DATE_CACHE=0関連トピック
親トピック: SQL*Loaderのコマンドライン・パラメータ
8.2.8 DEFAULTS
SQL*LoaderのDEFAULTSコマンドライン・パラメータでは、デフォルト式の評価とロードを制御します。
                     
デフォルト
 EVALUATE_ONCE (順序が関係しない場合)。順序が関係する場合のデフォルトは、EVALUATE_EVERY_ROWです。
                        
用途
デフォルト式の評価とロードを制御します。
DEFAULTSパラメータは、ダイレクト・パス・ロードにのみ適用できます。
                        
構文および説明
DEFAULTS={IGNORE | IGNORE_UNSUPPORTED_EVALUATE_ONCE | IGNORE_UNSUPPORTED_EVALUATE_EVERY_ROW | 
EVALUATE_ONCE | EVALUATE_EVERY_ROW}
各オプションの動作は次のとおりです。
- 
                              
IGNORE: 列のデフォルト句は無視されます。 - 
                              
IGNORE_UNSUPPORTED_EVALUATE_ONCE: ロードの開始時にデフォルト式を1回評価します。サポートされていないデフォルト式は無視されます。DEFAULTSパラメータを使用しないと、デフォルト式が順序を参照しないかぎり、デフォルト式は1回評価されます。デフォルト式が順序を参照する場合は、すべての行が評価されます。 - 
                              
IGNORE_UNSUPPORTED_EVALUATE_EVERY_ROW: サポートされていないデフォルト句を無視して、すべての行のデフォルト式を評価します。 - 
                              
EVALUATE_ONCE: ロード開始時にデフォルト式を1回評価します。DEFAULTSパラメータを使用しないと、デフォルトが順序を参照しないかぎり、デフォルト式は1回評価されます。デフォルトが順序を参照する場合は、すべての行が評価されます。サポートされていないデフォルト式の句に対してはエラーが発行されます。(これがこのパラメータのデフォルト・オプションです。) - 
                              
EVALUATE_EVERY_ROW: すべての行のデフォルト式を評価し、サポートされていないデフォルトにはエラーを発行します。 
例
この例では、testという名前で表を作成します(SQL*Loader制御ファイルの名前はtest.ctlです)。
                        
create table test
(
   c0 varchar2(10),
   c1 number default '100'
)
;
test.ctl:
load data
infile *
truncate
into table test
fields terminated by ','
trailing nullcols
(
  c0 char
)
begindata
1,
その後、c1にNULLをロードするには、次の文を発行します。
                        
sqlldr scott/password t.ctl direct=true defaults=ignorec1にデフォルト値の100をロードするには、次の文を発行します。
                        
sqlldr scott/password t.ctl direct=true親トピック: SQL*Loaderのコマンドライン・パラメータ
8.2.9 DEGREE_OF_PARALLELISM
SQL*LoaderのDEGREE_OF_PARALLELISMコマンドライン・パラメータでは、ロード操作中に使用する並列度を指定します。
                     
デフォルト
NONE用途
DEGREE_OF_PARALLELISMパラメータでは、ロード操作中に使用する並列度を指定します。
                        
構文および説明
DEGREE_OF_PARALLELISM=[degree-num|DEFAULT|AUTO|NONE]
degree-numを指定する場合、1からnの整数値にする必要があります。
                        
DEFAULTを指定すると、(AUTOのデフォルト・パラメータ値ではなく)データベースのデフォルトの並列度が使用されます。
                        
AUTOを使用すると、Oracle Databaseによってロードの並列度が自動的に設定されます。 
                        
NONEを指定すると、ロードはパラレルに実行されません。
                        
関連項目:
- 
                                 
パラレル実行の詳細は、『Oracle Database VLDBおよびパーティショニング・ガイド』を参照してください。
 
制限事項
- 
                              
DEGREE_OF_PARALLELISMパラメータは、外部表ロード方法が使用される場合にのみ有効です。 
例
次の例では、ロードの並列度を3に設定します。
DEGREE_OF_PARALLELISM=3親トピック: SQL*Loaderのコマンドライン・パラメータ
8.2.10 DIRECT
SQL*LoaderのDIRECTコマンドライン・パラメータでは、従来型パスまたはダイレクト・パスのどちらの方法でデータをロードするかを指定します。 
                     
デフォルト
FALSE用途
DIRECTパラメータでは、従来型パスまたはダイレクト・パスのどちらのロード方法を使用するかを指定します。 
                        
構文および説明
DIRECT=[TRUE | FALSE]
TRUE値はダイレクト・パス・ロードを指定します。FALSE値は従来型パス・ロードを指定します。
                        
関連項目:
従来型パス・ロードおよびダイレクト・パス・ロード例
次の例では、従来型パス・モードを使用してロードを実行するように指定します。
DIRECT=FALSE親トピック: SQL*Loaderのコマンドライン・パラメータ
8.2.11 DIRECT_PATH_LOCK_WAIT
SQL*LoaderのDIRECT_PATH_LOCK_WAITコマンドライン・パラメータでは、ダイレクト・パス・ロードの表ロック待機中の動作を制御します。
デフォルト
用途
FALSE
表ロック待機中のダイレクト・パス・ロードの動作を制御します。ダイレクト・パス・ロードでは、ロードを続行する前に、表をロックする必要があります。DIRECT_PATH_LOCK_WAITコマンドでは、ロック待機中のダイレクト・パスAPIの動作を制御します。
                        
構文および説明
DIRECT_PATH_LOCK_WAIT = {TRUE | FALSE}- 
                              
TRUE: ダイレクト・パスは、表のロックを取得できるまで待機してからロードを続行します。 - 
                              
FALSE: (デフォルト)。FALSEに設定すると、ダイレクト・パスAPIは表のロックを複数回試行し、各試行間に1秒待機します。実行される試行の最大回数は30回です。30回試行した後、表をロックできない場合、ダイレクト・パスAPIは表のロックの試行時に生成されたエラーを返します。 
親トピック: SQL*Loaderのコマンドライン・パラメータ
8.2.12 DISCARD
SQL*LoaderのDISCARDコマンドライン・パラメータでは、表に挿入されず、拒否もされないレコードを格納するための廃棄ファイルをオプションで指定できます。
                     
デフォルト
データ・ファイルと同じファイル名ですが、拡張子は.dscになります。
                        
用途
DISCARDパラメータでは、表に挿入されず、拒否もされないレコードを格納するための廃棄ファイルをオプションで指定できます。これらは不良レコードではなく、制御ファイル内で指定されているWHEN句などのレコード選択基準に単純に一致しなかったレコードです。
                        
構文および説明
DISCARD=[directory/][filename]
DISCARDパラメータを指定する場合、ディレクトリまたはファイル名(あるいはその両方)を指定する必要があります。
                        
directoryパラメータには、廃棄ファイルの書込み先となるディレクトリを指定します。指定には、デバイスまたはネットワーク・ノードの名前を含めることができます。directoryの値は、次のように決定されます。
                        
- 
                              
DISCARDパラメータが指定されていないが、DISCARDMAXパラメータは指定されている場合、デフォルト・ディレクトリは、SQL*Loaderの制御ファイルが存在するディレクトリになります。 - 
                              
DISCARDパラメータでファイル名が指定されているが、ディレクトリがない場合、ディレクトリはデフォルトでカレント・ディレクトリになります。 - 
                              
DISCARDパラメータでディレクトリが指定されているが、ファイル名がない場合、指定されたディレクトリが使用され、名前と拡張子にはデフォルトが使用されます。 
filenameパラメータには、プラットフォームで有効とみなされるファイル名を指定します。名前(および.dsc以外のものを使用する場合は拡張子)のみを指定する必要があります。ファイル名に空白やその他の句読点文字が含まれている場合は、一重引用符で囲む必要があります。 
                        
DISCARDパラメータもDISCARDMAXパラメータも指定しない場合、廃棄レコードがあっても廃棄ファイルは作成されません。
                        
DISCARDパラメータが指定されていないが、DISCARDMAXパラメータは指定されている場合に廃棄レコードが存在すると、デフォルト名を使用して廃棄ファイルが作成され、ファイルはSQL*Loaderの制御ファイルが存在する場所と同じディレクトリに書き込まれます。 
                        
注意:
複数のデータ・ファイルがロードされる状況でDISCARDパラメータも指定する場合、ファイル名ではなく、廃棄ファイルのディレクトリのみを指定することをお薦めします。指定した名前を持つファイルがすでに存在する場合、使用しているオペレーティング・システムに応じて、既存ファイルが上書きされるか、新しいバージョンのファイルが生成されます。 
                        コマンドラインで指定された廃棄ファイルは、制御ファイルの最初のINFILE文(存在する場合)に関連する廃棄ファイルとなります。つまり、制御ファイル中で指定する廃棄ファイル名よりも、コマンドラインで指定した廃棄ファイル名の方が優先されます。生成される廃棄ファイルと同じ名前のファイルがすでに存在する場合は、既存ファイルが上書きされるか、新しいバージョンのファイルが生成されます。どちらの処理が行われるかは、使用するオペレーティング・システムによって異なります。
                        
関連項目:
廃棄ファイルの形式の詳細は、「廃棄レコードおよび拒否レコード」を参照してください。例
employees.datというデータ・ファイルをロードすることを前提としています。次の例では、ディレクトリ名のみを指定しているため、廃棄ファイルの名前はemployees.dscになり、mydirディレクトリに作成されます。 
                        
DISCARD=mydir/親トピック: SQL*Loaderのコマンドライン・パラメータ
8.2.13 DISCARDMAX
SQL*LoaderのDISCARDMAXコマンドライン・パラメータでは、データのロードが終了するまでに許可される廃棄レコードの数を指定します。 
                     
デフォルト
ALL
用途
DISCARDMAXパラメータは、データ・ロードが終了する前に、許可する廃棄レコードの数を指定します。
                        
構文および説明
DISCARDMAX=n
最初の廃棄レコードで停止するには、値0を指定します。
DISCARDMAXが指定されているが、DISCARDパラメータは指定されていない場合、廃棄ファイルの名前は、拡張子.dscが付けられたデータ・ファイルの名前になります。
                        
例
次の例では、ロードが終了するまでに25個の破棄レコードが許可されます。
DISCARDMAX=25親トピック: SQL*Loaderのコマンドライン・パラメータ
8.2.14 DNFS_ENABLE
DNFS_ENABLE SQL*Loaderコマンドライン・パラメータを使用すると、SQL*Loader操作中の入力データ・ファイルに対するDirect NFSクライアントの使用を有効化および無効化できます。
                     
デフォルト
TRUE
用途
DNFS_ENABLEパラメータでは、SQL*Loader操作中の入力データ・ファイルに対するDirect NFSクライアントの使用を有効化および無効化できます。
                        
構文および説明
DNFS_ENABLE=[TRUE|FALSE]
Direct NFSクライアントは、Oracle Databaseがファイル・サーバー上のファイルにアクセスする際のパフォーマンスを向上するために、ファイル・サーバーで実装できるAPIです。
SQL*Loaderでは、1GBを超えるデータ・ファイルを読み取る場合にデフォルトでDirect NFSクライアント・インタフェースが使用されます。よりサイズの小さいファイルでは、オペレーティング・システムの入力/出力(I/O)インタフェースが使用されます。すべての入力データ・ファイルでDirect NFSクライアントを使用するには、DNFS_ENABLE=TRUEを使用します。
                        
すべてのデータ・ファイルでDirect NFSクライアントの使用を無効にするには、DNFS_ENABLE=FALSEを指定します。
                        
DNFS_READBUFFERSパラメータは、Direct NFSクライアントによって使用される読取りバッファの数(デフォルトは4)を指定するために使用できます。
                        
関連項目:
- 
                                 
Direct NFSクライアントの有効化の詳細は、使用しているプラットフォームの『Oracle Grid Infrastructureインストレーション・ガイド』を参照してください。
 
例
次の例では、ロード中の入力データ・ファイルでのDirect NFSクライアントの使用を無効にします。
DNFS_ENABLE=FALSE親トピック: SQL*Loaderのコマンドライン・パラメータ
8.2.15 DNFS_READBUFFERS
DNFS_READBUFFERS SQL*Loaderコマンドライン・パラメータを使用すると、Direct NFSクライアントで使用される読取りバッファの数を制御できます。 
                     
デフォルト
4
用途
DNFS_READBUFFERSパラメータでは、Direct NFSクライアントによって使用される読取りバッファの数を制御できます。Direct NFSクライアントは、Oracle Databaseがファイル・サーバー上のファイルにアクセスする際のパフォーマンスを向上するために、ファイル・サーバーで実装できるAPIです。 
                        
構文および説明
DNFS_READBUFFERS=n
                        nの値は、指定する読取りバッファの数です。読取りバッファ数を増やすことで、Direct NFSクライアントのファイル・サーバーからの一貫性のない入力/出力(I/O)を補正できます。ただし、大きい値を使用すると、メモリー使用量が増加することがあります。
                        
制限事項
- 
                              
                              
DNFS_ENABLEパラメータを同時に指定せずにこのパラメータを使用するには、入力ファイルが1GBを超えている必要があります。 
例
次の例では、Direct NFSクライアントによって使用される読取りバッファの数を10に指定します。
DNFS_READBUFFERS=10
                        8.2.16 EMPTY_LOBS_ARE_NULL
SQL*Loaderのコマンドライン・パラメータEMPTY_LOBS_ARE_NULLでは、使用可能なデータが存在しないLOB列を空のLOBではなくNULLに設定するように指定します。 
                     
デフォルト
FALSE
用途
SQL*LoaderのEMPTY_LOBS_ARE_NULLパラメータを指定すると、使用可能なデータがないラージ・オブジェクト(LOB)列は、空のLOBではなくNULLに設定されます。使用可能なデータがないLOB列をNULLに設定することで、その変更をデータ・ロード後の後処理で実行する必要がなくなります。
                        
構文および説明
EMPTY_LOBS_ARE_NULL = {TRUE | FALSE}EMPTY_LOBS_ARE_NULLパラメータはSQL*Loaderのコマンドラインで指定することも、SQL*Loader制御ファイルのOPTIONS句で指定することもできます。
                        
制限事項
ありません。
例
次の例では、設定empty_lobs_are_null=trueの結果として、c1のLOB列は空のLOBではなくNULLに設定されます。 
                        
create table t
(
   c0 varchar2(10),
   c1 clob
)
;
sqlldr control file:
options (empty_lobs_are_null=true)
load data
infile *
truncate
into table t
fields terminated by ','
trailing nullcols
(
  c0 char,
  c1 char
)
begindata
1,, 親トピック: SQL*Loaderのコマンドライン・パラメータ
8.2.17 ERRORS
ERRORS SQL*Loaderコマンドライン・パラメータでは、許可される挿入エラーの最大数を指定します。
デフォルト
50
用途
ERRORSパラメータでは、許可する挿入エラーの最大数を指定します。
                        
構文および説明
ERRORS=n
発生したエラーの数がERRORSに指定された値を超えると、SQL*Loaderによりロードが中止されます。その前までに挿入されたデータはコミットされます。
                        
エラーを許容しない場合は、ERRORS=0を設定します。エラーを無制限に許容する場合は、非常に大きい値を指定します。
                        
SQL*Loaderでは、すべての表の間でレコードの整合性を保つように処理されます。つまり、複数の表をロードする場合は、エラーの数がこの上限を超えても、すぐにはロード処理が中止されません。SQL*Loaderでは、複数の表のロードに対して許容最大数のエラーが検出されても、行のロードは続行され、すでに表にロードされた有効な行は確実にすべての表にロードされます。また、拒否された行はすべての表から削除されます。
どのような場合でも、SQL*Loaderでは、エラーになったレコードが不良ファイルに書き込まれます。
例
次の例では、ロードの挿入エラーの最大数を25に指定します。それを超えると、ロードは終了します。
ERRORS=25親トピック: SQL*Loaderのコマンドライン・パラメータ
8.2.18 EXTERNAL_TABLE
EXTERNAL_TABLEパラメータは、外部表オプションを使用してデータをロードするかどうかをSQL*Loaderに指定します。
                     
デフォルト
NOT_USED
構文および説明
EXTERNAL_TABLE=[NOT_USED | GENERATE_ONLY | EXECUTE]
指定可能な値は次のとおりです。
- 
                              
NOT_USED: デフォルト値。従来型パス・モードまたはダイレクト・パス・モードのいずれかを使用して、ロードを行います。 - 
                              
GENERATE_ONLY: 制御ファイルに記述されているとおり、SQL*Loaderログ・ファイル内の外部表を使用してロードを行うために必要なすべてのSQL文を書き込みます。これらのSQL文は、編集およびカスタマイズできます。実際のロードは、SQL*Loaderを使用せずに、SQL*Plusでこれらの文を実行して、後で行うことができます。 - 
                              
EXECUTE: 外部表を使用してロードを行うために必要なSQL文を実行します。ただし、SQL文からエラーが返されると、ロードは停止します。SQL文は、実行されたとおりログ・ファイルに書き込まれます。つまり、SQL文からエラーが返されると、ロードに必要な残りのSQL文はログ・ファイルには書き込まれません。SQL*Loader制御ファイルで
EXTERNAL_TABLE=EXECUTEパラメータとSEQUENCEパラメータの両方を使用すると、SQL*Loaderは、データベースの順序を作成し、その順序に従って表をロードした後、その順序を削除します。この方法でロードを実行すると、従来型またはダイレクト・パスによる方法でロードした場合とは異なる結果になります。(順序の作成方法の詳細は、『Oracle Database SQL言語リファレンス』のCREATE SEQUENCEに関する項を参照してください。) 
注意:
EXTERNAL_TABLEパラメータを指定すると、SQL*Loader制御ファイル内の日時データ型(TIMESTAMPなど)は自動的にCHARデータ型に変換されて、外部表のdate_format_spec句が使用されます。詳細は、「date_format_spec」を参照してください。
                        外部表オプションで、データベース内のディレクトリ・オブジェクトを使用して、すべての入力データ・ファイルがどこに格納されるか、および出力ファイル(不良ファイルや廃棄ファイルなど)がどこで作成されるかを指定します。データ・ファイルを含むディレクトリ・オブジェクトには、READアクセスが、出力ファイルが作成されるディレクトリ・オブジェクトには、WRITEアクセスが必要です。データ・ファイルまたは出力ファイル格納用の既存のディレクトリ・オブジェクトがない場合は、SQL*LoaderでSQL文を生成して作成します。したがって、EXECUTEオプションを指定する場合は、CREATE ANY DIRECTORY権限が必要です。ロード処理の終了時にディレクトリ・オブジェクトを削除する場合は、DROP ANY DIRECCTORY権限も必要です。
                        
注意:
SQL*LoaderでEXTERNAL_TABLE=EXECUTE修飾子を指定すると、データのロードに使用可能な外部表が作成された後、INSERT文が実行され、データがロードされます。外部表のすべてのファイルがディレクトリ・オブジェクト内に存在すると識別される必要があります。SQL*Loaderは、ユーザーがアクセス権限を所有している既存のディレクトリ・オブジェクトを使用します。ただし、SQL*Loaderにより一致するディレクトリ・オブジェクトが検出されない場合は、一時ディレクトリ・オブジェクトの作成が試行されます。新しいディレクトリ・オブジェクトを作成する権限を所有していない場合、この操作は正常に実行されません。
                           
この問題を解決するには、EXTERNAL_TABLE=GENERATE_ONLYを使用して、SQL*Loaderで実行が試行されるSQL文を作成します。これらのSQL文を抽出し、参照するディレクトリ・オブジェクトを、アクセス権限を所有しているディレクトリ・オブジェクトに変更します。その後、これらのSQL文を実行します。
                           
複数表のロードを行う場合は、SQL*Loaderで次の手順を実行します。
- 
                              
任意の表にロードされる入力データ・ファイルのすべてのフィールドを記述する表を、データベースに作成します。
 - 
                              
INSERT文を作成して、データの外部表記述からこの表をロードします。 - 
                              
制御ファイルのすべての表に
INSERT文を実行します。 
実行例については、事例5にEXTERNAL_TABLE=GENERATE_ONLYパラメータを追加して実行します。外部表に一意の名前を保証するため、SQL*Loaderではすべてのフィールド用に生成された名前を使用します。これは、フィールド名が制御ファイル内の異なる表の間で一意でないことがあるためです。
                        
関連項目:
- 
                                 
事例の使用方法の詳細は、「SQL*Loaderの事例」を参照してください
 
制限事項
- 
                              
SQL*Loaderを介して外部表からデータベース表にデータを挿入する場合、ユリウス日は使用できません。この問題を解決するには、次の例に示すとおり、
TO_DATEおよびTO_CHARを使用してユリウス日書式を変換します。TO_CHAR(TO_DATE(:COL1, 'MM-DD-YYYY'), 'J') - 
                              
外部表からデータベース表にデータを挿入する場合、オブジェクト要素には組込み関数およびSQL文字列は使用できません。
 
例
EXTERNAL_TABLE=EXECUTE親トピック: SQL*Loaderのコマンドライン・パラメータ
8.2.19 FILE
FILE SQL*Loaderコマンドライン・パラメータでは、エクステントの割当て元となるデータベース・ファイルを指定します。
                     
デフォルト
デフォルトはありません。
構文および説明
FILE=tablespace_file
SQL*Loaderの異なるプロセスに対するFILEパラメータの値を変えることによって、データがシステムにロードされるときのディスクの競合を最小限に抑えることができます。
                        
制限事項
- 
                              
FILEパラメータは、ダイレクト・パスのパラレル・ロードでのみ使用します。 
親トピック: SQL*Loaderのコマンドライン・パラメータ
8.2.20 HELP
SQL*Loaderのコマンドライン・パラメータHELPでは、SQL*Loaderユーティリティのオンライン・ヘルプを表示します。 
                     
デフォルト
FALSE
構文および説明
HELP = [TRUE | FALSE]HELP=TRUEを指定した場合は、SQL*LoaderによってすべてのSQL*Loaderのコマンドライン・パラメータの要約が表示されます。
                        
すべてのSQL*Loaderのコマンドライン・パラメータの要約は、コマンドラインでsqlldr -helpと入力して表示することもできます。
                        
親トピック: SQL*Loaderのコマンドライン・パラメータ
8.2.21 LOAD
SQL*Loaderのコマンドライン・パラメータLOADでは、ロードするレコードの最大数を指定します。 
                     
デフォルト
すべてのレコードがロードされます。
用途
ロードするレコードの最大数を指定します。
構文および説明
LOAD=n
ロードに指定したすべてのパラメータが正しく設定されているかどうかをテストする場合、LOADパラメータを使用して、すべてのレコードをロードするかわりに、かぎられた数のレコードを指定します。実際のレコード件数が指定された最大数より少ない場合、エラーは発生しません。
                        
例
次の例では、最大10個のレコードをロードするように指定します。
LOAD=10
外部表の方法によるロードでは、ロードに成功したレコードのみが合計に加算されます。そのため、入力データ・ファイルに15個のレコードがあり、レコード2と4が不良の場合、レコード1、3、5、6、7、8、9、10、11および12が合計10個のレコードとして表にロードされます。
従来型パス・ロードとダイレクト・パス・ロードでは、成功と失敗の両方のロード試行が合計に加算されます。そのため、入力データ・ファイルに15個のレコードがあり、レコード2と4が不良の場合、レコード1、3、5、6、7、8、9および10の8個のみが実際に表にロードされます。
親トピック: SQL*Loaderのコマンドライン・パラメータ
8.2.22 LOG
SQL*Loaderのコマンドライン・パラメータLOGでは、SQL*Loaderがロード処理に関するログ情報を保存するログ・ファイルのディレクトリ・パスとファイル名(またはそのどちらか)を指定します。
                     
デフォルト
カレント・ディレクトリ(値を指定しない場合)。
用途
SQL*Loaderがロード処理に関するログ情報を保存するために使用するログ・ファイルのディレクトリ・パスとファイル名(またはそのどちらか)を指定します。
構文および説明
LOG=[[directory/][log_file_name]]
LOGパラメータを指定する場合、ディレクトリ名またはファイル名(あるいはその両方)を指定する必要があります。
                        
ディレクトリ名を指定しない場合、デフォルトでカレント・ディレクトリが使用されます。
ファイル名なしでディレクトリ名を指定した場合、デフォルトのログ・ファイル名が使用されます。
例
次の例では、カレント・ディレクトリにemp1.logというログ・ファイルを作成します。拡張子を指定しない場合でも、デフォルトの.logが使用されます。
                        
LOG=emp1
親トピック: SQL*Loaderのコマンドライン・パラメータ
8.2.23 MULTITHREADING
SQL*Loaderのコマンドライン・パラメータMULTITHREADINGでは、サーバー・システムでのストリームのロードと同時にクライアント・システムでのストリームの構築を実行できるようにします。
                     
デフォルト
複数CPUシステムではTRUE、単一CPUシステムではFALSE。
                        
構文および説明
MULTITHREADING=[TRUE | FALSE]デフォルトでは、マルチスレッド・オプションは常にTRUEに設定され、複数CPUシステム上で使用可能です。この場合の複数CPUシステムの定義は、2つ以上のCPUを持つ単一システムです。
                        
単一CPUシステムでは、マルチスレッドはデフォルトでFALSEに設定されています。2つの単一CPUシステム間でマルチスレッドを使用するには、マルチスレッドを使用可能にする必要があります。デフォルトでは、使用可能になっていません。
                        
制限事項
- 
                              
MULTITHREADINGパラメータは、ダイレクト・パス・ロードでのみ使用できます。 - 
                              
マルチスレッド機能は、オペレーティング・システムに依存します。すべてのオペレーティング・システムがマルチスレッドをサポートしているわけではありません。
 
例
次の例では、単一CPUシステムでマルチスレッドを使用可能にします。複数CPUシステムでは、デフォルトで使用可能です。
MULTITHREADING=TRUE関連トピック
親トピック: SQL*Loaderのコマンドライン・パラメータ
8.2.24 NO_INDEX_ERRORS
SQL*Loaderのコマンドライン・パラメータNO_INDEX_ERRORSでは、ダイレクト・パス・ロード中に索引付けエラーを許容するかどうかを指定します。
                     
デフォルト
FALSE
構文および説明
NO_INDEX_ERRORS=[TRUE | FALSE]NO_INDEX_ERRORS=FALSEの設定では、ダイレクト・パス・ロードの結果として索引が使用できなくなった場合、行がロードされ、索引は使用禁止状態のまま残されます。これはデフォルトの動作です。
                        
NO_INDEX_ERRORS=TRUEの設定では、ダイレクト・パス・ロードの結果として索引付けエラーが発生すると、ロードは中断されます。どの行もロードされず、索引はそのままの状態で残されます。
                        
制限事項
- 
                              
NO_INDEX_ERRORSパラメータは、ダイレクト・パス・ロードでのみ有効です。従来型パス・ロードで指定した場合、このパラメータは無視されます。 
例
NO_INDEX_ERRORS=TRUE親トピック: SQL*Loaderのコマンドライン・パラメータ
8.2.25 PARALLEL
SQL*LoaderのPARALLELパラメータでは、ダイレクト・パスまたは外部表を使用するロードで、同じ表に複数の同時セッションでデータをロードできるかどうかを指定します。
                     
FALSE
用途
ダイレクト・パスまたは外部表を使用するロードによって、複数の同時セッションで同じ表にデータをロードできるかどうかを指定します。
構文および説明
PARALLEL=[TRUE | FALSE]
制限事項
- 
                              
PARALLELパラメータは、従来型パス・ロードでは無効です。 
例
次の例では、パラレルにロードを実行するように指定します。
PARALLEL=TRUE親トピック: SQL*Loaderのコマンドライン・パラメータ
8.2.26 PARFILE
SQL*Loaderのコマンドライン・パラメータPARFILEでは、頻繁に使用するコマンドライン・パラメータを格納したファイルの名前を指定します。
                     
デフォルト
デフォルトはありません。
構文および説明
PARFILE=file_name
コマンドラインで各パラメータを指定するかわりに、単にパラメータ・ファイルの名前を指定できます。たとえば、daily_report.parというパラメータ・ファイルの内容が、次のとおりだとします。
                        
USERID=scott
CONTROL=daily_report.ctl
ERRORS=9999
LOG=daily_report.log
セキュリティ上の理由から、パラメータ・ファイルにはUSERIDのパスワードを含めないでください。コマンドラインでパラメータ・ファイルを指定すると、SQL*Loaderからパスワードの入力を求められます。例:
                        
sqlldr PARFILE=daily_report.par
Password: password制限事項
- 
                              
システムによっては、パラメータ指定で等号(=)の前後に空白を挿入できないものもあります。
 
例
「構文および説明」の例を参照してください。
親トピック: SQL*Loaderのコマンドライン・パラメータ
8.2.27 PARTITION_MEMORY
SQL*Loaderのコマンドライン・パラメータPARFILEでは、多数のパーティションのロード時に使用するメモリーの量を指定します。
デフォルト
0 (ゼロ)この設定は、PGA_AGGREGATE_TARGET初期化パラメータの値に基づいてメモリーの使用を制限します。メモリーの使用がこの値に達すると、一部のパーティションのロードが遅延します。
                        
用途
多数のパーティションのロード時に使用するメモリーの量を指定します。このパラメータは、ロードするパーティションの数が大量のメモリーを消費し、使用可能なメモリーを超える可能性がある場合に役立ちます。(この状況は、特にデータが圧縮されている場合に発生する可能性があります)。
指定した制限に達すると、メモリーの使用量が制限値を下回るまで、一部のパーティション行のロードが延期されます。
構文および説明
PARTITION_MEMORY=n
パラメータ値nの単位は、KBです。
                        
nが0 (デフォルト)に設定されている場合、SQL*LoaderはPGA_AGGREGATE_TARGET初期化パラメータによって決まる値を使用します。
                        
nが-1 (マイナス1)に設定されている場合、SQL*Loaderは多数のパーティションをロードする際のメモリーの使用量を減らしません。
                        
制限事項
- 
                              
このパラメータは、ダイレクト・パス・ロードでのみ有効です。
 - 
                              
このパラメータは、Oracle Database 12cリリース1 (12.1.0.2)以降でのみ使用可能です
 
例
次の例では、メモリーの使用を1GBに制限しています。
> sqlldr hr CONTROL=t.ctl DIRECT=true PARTITION_MEMORY=1000000親トピック: SQL*Loaderのコマンドライン・パラメータ
8.2.28 READSIZE
デフォルトを使用しない場合は、SQL*Loaderのコマンドライン・パラメータREADSIZEで読取りバッファのサイズ(バイト単位)を指定します。 
                     
デフォルト
1048576
構文および説明
READSIZE=n
従来型パス・ロードの方法では、バインド配列は、読取りバッファのサイズによって制限されます。そのため、読取りバッファを大きくすると、コミット操作を実行する前に、より多くのデータを読み取ることができるというメリットがあります。
たとえば、READSIZEを1000000に設定すると、SQL*Loaderはコミットが必要になるまでにデータ・ファイルから1,000,000バイト単位の読取りを実行できます。
                        
注意:
READSIZEの値にBINDSIZEより小さい値を指定した場合、READSIZEの値は増分されます。 
                           
制限事項
- 
                              
READSIZEパラメータは、データ・ファイルからデータを読み込む場合にのみ使用されます。制御ファイルからレコードを読み込む場合は、常に64KBという値がREADSIZEとして使用されます。 - 
                              
READSIZEパラメータは、ラージ・オブジェクト(LOB)には反映されません。LOB読取りバッファのサイズは、64KBに固定されています。 - 
                              
最大許容サイズはプラットフォームによって異なります。
 
例
次の例では、読取りバッファのサイズを500,000バイトに設定します(この設定では、デフォルト値またはデフォルトよりも大きな値を使用した場合よりも頻繁なコミット操作が必要になります)。
READSIZE=500000関連トピック
親トピック: SQL*Loaderのコマンドライン・パラメータ
8.2.29 RESUMABLE
SQL*Loaderのコマンドライン・パラメータRESUMABLEでは、再開可能な領域割当てを有効および無効にします。
                     
デフォルト
FALSE
用途
再開可能な領域割当てを有効化および無効化します。
制限事項
- 
                              
このパラメータはデフォルトでは無効なため、関連する
RESUMABLE_NAMEパラメータおよびRESUMABLE_TIMEOUTパラメータを使用するには、RESUMABLE=TRUEを設定する必要があります。 
例
次の例では、再開可能な領域割当てを有効にします。
RESUMABLE=TRUE親トピック: SQL*Loaderのコマンドライン・パラメータ
8.2.30 RESUMABLE_NAME
SQL*Loaderのコマンドライン・パラメータRESUMABLE_NAMEでは、再開可能な文を特定します。
                     
デフォルト
 'User USERNAME(USERID), Session SESSIONID, Instance INSTANCEID'
構文および説明
RESUMABLE_NAME='text_string'
この値はユーザー定義のテキスト文字列で、USER_RESUMABLEまたはDBA_RESUMABLEビューに挿入して、一時停止されている特定の再開可能な文を識別できます。
                        
制限事項
- 
                              
RESUMABLEパラメータをTRUEに設定して、再開可能な領域割当てを有効にしないかぎり、このパラメータは無視されます。 
例
RESUMABLE_NAME='my resumable sql'親トピック: SQL*Loaderのコマンドライン・パラメータ
8.2.31 RESUMABLE_TIMEOUT
SQL*Loaderのコマンドライン・パラメータRESUMABLE_TIMEOUTでは、エラー修正までに必要な時間(秒単位)を指定します。
                     
デフォルト
7200秒(2時間)
                        
構文および説明
RESUMABLE_TIMEOUT=n
タイムアウト時間内にエラーを修正できない場合は、文の実行が途中で終了します。
制限事項
- 
                              
RESUMABLEパラメータをTRUEに設定して、再開可能な領域割当てを有効にしないかぎり、このパラメータは無視されます。 
例
次の例では、10分(600秒)以内にエラーを修正する必要があることを指定します。
RESUMABLE_TIMEOUT=600親トピック: SQL*Loaderのコマンドライン・パラメータ
8.2.32 ROWS
従来型パス・ロードの場合は、SQL*Loaderのコマンドライン・パラメータROWSでバインド配列の行数を指定します。 
                     
デフォルト
バインド配列の行数を指定します。従来型パスのデフォルトは64です。ダイレクト・パスのデフォルトはすべての行です。
                        
用途
ダイレクト・パス・ロードの場合は、ROWSパラメータでデータの保存前にデータ・ファイルから読み取る行数を指定します。
                        
構文
ROWS=n
従来型パス・ロードの説明
従来型パス・ロードの場合のみ、ROWSパラメータでバインド配列の行数を指定します。行の最大数は65534です。
                     ダイレクト・パス・ロードの説明
ダイレクト・パス・ロードの場合のみ、データの保存前にデータ・ファイルから読み取る行数をROWSパラメータで特定します。デフォルトでは、ロード終了時に、すべての行の読取りおよびデータ・セーブが1回実行されます。1回のセーブで実際に表にロードされる行のおよその数は、ROWSの値から、最後のセーブ以降に廃棄および拒否されたレコードの数を引いた数です。
                        
注意:
ROWSに小さい値を指定したときに、表圧縮を使用してデータを圧縮しようとすると、通常は圧縮比が低下します。データの圧縮時には、大きな値を指定するか、デフォルト値をそのまま使用してください。
                        制限事項
- 
                              
ダイレクト・パス・ロードでは、索引構成表(IOT)にデータをロードする場合や、
VARRAY型、XML列またはラージ・オブジェクト(LOB)を格納している表にデータをロードする場合に、ROWSパラメータが無視されます。これは、ロードはそのまま実行されますが、セーブポイントは処理されないことを意味します。 
例
従来型パス・ロードでは、指定した値が許容可能な最大行数の65534を超えているため、次の例はエラーになります。
ROWS=65900関連トピック
親トピック: SQL*Loaderのコマンドライン・パラメータ
8.2.33 SDF_PREFIX
SQL*Loaderのコマンドライン・パラメータSDF_PREFIXでは、ロード操作の一環として開かれるLOBFILEおよびセカンダリ・データ・ファイル(SDF)のファイル名に追加するディレクトリ接頭辞を指定します。
                     
デフォルト
デフォルトはありません。
用途
ロード操作の一環として開かれるLOBFILEおよびセカンダリ・データ・ファイル(SDF)のファイル名に追加するディレクトリ接頭辞を指定します。
注意:
SDF_PREFIXパラメータは、SQL Loader制御ファイルのOPTIONS句で指定することもできます。
                        構文および説明
SDF_PREFIX=stringSDF_PREFIXを指定した場合は、文字列値も指定する必要があります。文字列の妥当性チェックや検証は行われません。SDF_PREFIXの値は、ロード中に開かれたすべてのLOBFILEおよびSDFに使用されるファイル名の先頭に追加されます。結果の文字列が有効なファイル名でない場合、そのファイルを開こうとすると失敗し、エラーが報告されます。
                        
SDF_PREFIXを指定しない場合、LOBFILEおよびSDFのファイル名は現在の作業ディレクトリに相対的であるとみなされます。SDF_PREFIXを使用すると、それらのファイル名を異なるディレクトリに対して相対的にできます。
                        
コマンドライン・パーサーにとって紛らわしい文字(空白など)が文字列に含まれている場合にのみ、文字列を引用符で囲む必要があります。
レコードで検出されたファイル名の先頭にSDF_PREFIXを追加することによって作成されたファイル名は、ファイルを開くためにオペレーティング・システムに渡されます。接頭辞は、SQL*Loaderが実行されている現在の作業ディレクトリに相対的にするか、または絶対パスの先頭にすることができます。
                        
制限事項
- 
                              
LOBFILEまたはSDFのファイル指定に完全なファイル名が含まれている場合は、
SDF_PREFIXパラメータを使用しないでください。 
例
次のSQL*Loaderコマンドでは、現在のディレクトリのlobdirサブディレクトリでLOBファイルが検索されます。 
                        
sqlldr control=picts.ctl log=picts.log sdf_prefix=lobdir/親トピック: SQL*Loaderのコマンドライン・パラメータ
8.2.34 SILENT
SQL*Loaderのコマンドライン・パラメータSILENTでは、SQL*Loaderの操作中に画面に出力される内容の一部を抑止します。
                     
デフォルト
デフォルトはありません。
構文および説明
SILENT=[HEADER | FEEDBACK | ERRORS | DISCARDS | PARTITIONS | ALL]
適切な値を使用して、次の1つ以上の内容を抑止します(複数のオプションを指定する場合、カンマで区切る必要があります)。
- 
                              
HEADER: 通常は画面に表示されるSQL*Loaderのヘッダー・メッセージを非表示にします。ただし、ヘッダー・メッセージはログ・ファイルに出力されます。 - 
                              
FEEDBACK: 通常はロードの際に画面に表示される「コミット・ポイントに到達」メッセージとステータス・メッセージを非表示にします。ただし、画面には、引き続き「XX Rows successfully loaded.」と出力されます。 - 
                              
ERRORS: Oracleエラーがレコードで生成される際に発生する、ログ・ファイル内のデータ・エラー・メッセージを抑止します。ただし、拒否レコード件数は出力されます。 - 
                              
DISCARDS: 廃棄ファイルに書き込まれる各レコードについて、ログ・ファイル内のメッセージを抑止します。 - 
                              
PARTITIONS: パーティション表のダイレクト・ロード中に、パーティション毎統計のログ・ファイルへの書込みを無効にします。 - 
                              
ALL: すべての抑止の値(HEADER、FEEDBACK、ERRORS、DISCARDSおよびPARTITIONS)を実装します。ただし、画面には、引き続き「XX Rows successfully loaded.」と出力されます。 
例
通常は画面に表示されるヘッダーとフィードバックのメッセージが表示されないようにするには、次のコマンドライン引数を指定します。
SILENT=HEADER, FEEDBACK
ただし、画面には、引き続き「XX Rows successfully loaded.」と出力されます。
                        
親トピック: SQL*Loaderのコマンドライン・パラメータ
8.2.35 SKIP
SQL*Loaderのコマンドライン・パラメータSKIPでは、ファイルの先頭からのロードが不要な論理レコード数を指定します。
                     
デフォルト
0 (レコードをスキップしません)。
                        
用途
ファイルの先頭からのロードが不要な論理レコード数を指定します。この指定により、すでに処理されているレコードをロードすることなく、なんらかの理由で中断されたロードを続行できます。
構文および説明
SKIP=n
SKIPパラメータは、すべての従来型ロード、単一表のダイレクト・パス・ロード、各表に同じ数のレコードがロードされた複数表のダイレクト・パス・ロードに使用できます。各表にロードされたレコード数が異なる場合は、複数表のダイレクト・パス・ロードにSKIPを使用することはできません。
                        
WHEN句を使用しているときに、セカンダリ・データもロードの対象になる場合、そのセカンダリ・データは、プライマリ・データ・ファイルのレコードに対してWHEN句が正常に実行された場合にのみスキップされます。
                        
制限事項
- 
                              
SKIPパラメータは、外部表のロードには使用できません。 
例
次の例では、ロードを続行する前にデータ・ファイル内の最初の500件の論理レコードをスキップします。
SKIP=500関連トピック
親トピック: SQL*Loaderのコマンドライン・パラメータ
8.2.36 SKIP_INDEX_MAINTENANCE
SQL*Loaderのコマンドライン・パラメータSKIP_INDEX_MAINTENANCEでは、ダイレクト・パス・ロードの索引メンテナンスを停止するかどうかを指定します。
                     
デフォルト
FALSE
用途
ダイレクト・パス・ロードの索引メンテナンスを停止するかどうかを指定します。
構文および説明
SKIP_INDEX_MAINTENANCE=[TRUE | FALSE]
このパラメータをTRUEに設定すると、索引パーティションには、索引キーが追加されるかわりに索引使用禁止が設定されます(索引セグメントと、その索引が付けられているデータとの整合性がとれないため)。ロードの影響を受けない索引セグメントについては、ロード前の状態が保持されます。
                        
SKIP_INDEX_MAINTENANCEパラメータ:
                        
- 
                              
ローカル索引とグローバル索引の両方に適用できます。
 - 
                              
索引のあるオブジェクトのパラレル・ロードを実行するために使用できます(
PARALLELパラメータとともに指定)。 - 
                              
グローバル索引を持つ表に単一パーティションをロードできます(
INTO TABLE句でPARTITIONパラメータを指定)。 - 
                              
ロードで索引使用禁止状態に設定された索引や索引パーティションのリストを(SQL*Loaderログ・ファイルに)記録します。
 
制限事項
- 
                              
SKIP_INDEX_MAINTENANCEパラメータは、従来型パス・ロードには適用されません。 - 
                              
一意で使用禁止状態の索引に対しては、索引メンテナンスをスキップできません。この原則は、DML操作の場合にも、ダイレクト・パスでDMLと整合性を持つロードを行う場合にも適用されます。
 
例
次の例では、ダイレクト・パス・ロードの操作中に索引メンテナンスが発生しないようにします。
SKIP_INDEX_MAINTENANCE=TRUE親トピック: SQL*Loaderのコマンドライン・パラメータ
8.2.37 SKIP_UNUSABLE_INDEXES
SQL*Loaderのコマンドライン・パラメータSKIP_UNUSABLE_INDEXESでは、索引使用禁止状態で出現した索引をスキップし、ロード操作を続行するかどうかを指定します。
                     
デフォルト
初期化パラメータ・ファイルで指定した、Oracle Database構成パラメータSKIP_UNUSABLE_INDEXESの値。デフォルトのデータベースの設定は、TRUEです。
                        
用途
索引使用禁止状態で出現した索引をスキップし、ロード操作を続行するかどうかを指定します。
構文および説明
SKIP_UNUSABLE_INDEXES=[TRUE | FALSE]
SKIP_UNUSABLE_INDEXESの値としてTRUEを指定すると、索引使用禁止状態の索引が検出された場合、使用禁止状態の索引はスキップされ、ロード処理は続行されます。これにより、ロード開始前の状態が使用禁止になっている索引を含む表をSQL*Loaderでロードできるようになります。ロード時に使用禁止状態でない索引は、SQL*Loaderによってメンテナンスされます。ロード時に使用禁止状態になっている索引はメンテナンスされなくなりますが、使用禁止状態はロード完了時にも維持されます。 
                        
SKIP_UNUSABLE_INDEXESパラメータは、SQL*LoaderとOracle Databaseの両方によって提供されます。SQL*LoaderのSKIP_UNUSABLE_INDEXESパラメータは、SQL*Loaderコマンドラインで指定します。Oracle DatabaseのSKIP_UNUSABLE_INDEXESパラメータは、初期化パラメータ・ファイルの構成パラメータとして指定します。相互に与える影響を理解しておく必要があります。
                        
SQL*LoaderコマンドラインでSKIP_UNUSABLE_INDEXESの値を指定すると、SQL*Loaderは、初期化パラメータ・ファイルに指定されているSKIP_UNUSABLE_INDEXES構成パラメータの値を上書きします。
                        
SQL*LoaderコマンドラインでSKIP_UNUSABLE_INDEXESの値を指定しない場合、SQL*Loaderは、初期化パラメータ・ファイルに指定されているSKIP_UNUSABLE_INDEXES構成パラメータのOracle Database設定を使用します。初期化パラメータ・ファイルでSKIP_UNUSABLE_INDEXESの設定を指定しない場合、デフォルトの設定はTRUEになります。
                        
SKIP_UNUSABLE_INDEXESパラメータは、従来型パス・ロードおよびダイレクト・パス・ロードの両方に適用できます。 
                        
制限事項
- 
                              
一意で使用禁止状態の索引に対しては、索引メンテナンスをスキップできません。この原則は、DML操作の場合にも、ダイレクト・パスでDMLと整合性を持つロードを行う場合にも適用されます。
 
例
Oracle Database初期化パラメータの値がSKIP_UNUSABLE_INDEXES=FALSEに設定されていても、SQL*LoaderコマンドラインでのSKIP_UNUSABLE_INDEXES=TRUEの設定が優先されます。そのため、このパラメータの設定後に索引使用禁止状態の索引が出現すると、その索引はスキップされてロード操作が続行されます。
                        
SKIP_UNUSABLE_INDEXES=TRUE親トピック: SQL*Loaderのコマンドライン・パラメータ
8.2.38 STREAMSIZE
SQL*Loaderのコマンドライン・パラメータSTREAMSIZEでは、クライアントからサーバーに送信されるデータ・ストリームのサイズ(バイト単位)を指定します。
                     
デフォルト
256000
用途
クライアントからサーバーに送信されるデータのストリーム・サイズ(バイト単位)を指定します。
構文および説明
STREAMSIZE=n
STREAMSIZEパラメータでは、ダイレクト・パス・ストリーム・バッファのサイズを指定します。列配列の行数(COLUMNARRAYROWSパラメータで指定)によって、ストリーム・バッファが作成される前にロードされた行数を判断します。これらのパラメータの最適値は、使用されるシステム、入力データ型およびOracleの列データ型に応じて異なります。独自の構成用に最適な値を使用することで、SQL*Loaderのログ・ファイルでの経過時間が少なくなります。
                        
制限事項
- 
                              
STREAMSIZEパラメータは、ダイレクト・パス・ロードにのみ適用されます。 - 
                              
STREAMSIZEの最小値は65536です。65536未満の値が指定された場合、かわりに65536が使用されます。 
例
次の例では、ダイレクト・パス・ストリーム・バッファのサイズを300,000バイトに指定します。
STREAMSIZE=300000関連トピック
親トピック: SQL*Loaderのコマンドライン・パラメータ
8.2.39 TRIM
SQL*Loaderのコマンドライン・パラメータTRIMでは、テキスト・フィールドの先頭とテキスト・フィールドの末尾の両方(またはどちらか)から空白を切り捨てるかどうかを指定します。 
                     
デフォルト
LDRTRIM用途
テキスト・フィールドの先頭とテキスト・フィールドの末尾の両方(またはどちらか)から空白を切り捨てるかどうかを指定します。空白には、空白文字およびその他の印字されない文字(タブ、行送り、改行など)が含まれます。
構文および説明
TRIM=[LRTRIM | NOTRIM | LTRIM | RTRIM | LDRTRIM]
TRIMパラメータの有効な値は次のとおりです。
                        
- 
                              
NOTRIMは、フィールドから文字を切り捨てないように指示ます。この設定では、通常、最高のパフォーマンスを得ることができます。 - 
                              
LRTRIMは、フィールドから先頭と末尾の両方の空白を切り捨てるように指示します。 LTRIMは、フィールドから先頭の空白を切り捨てるように指示ます。RTRIMは、フィールドから末尾の空白を切り捨てるように指示ます。- 
                              
LDRTRIMは、次の場合を除いて、NOTRIMと同様です。- 
                                    
フィールドがデリミタ付きフィールドではない場合、空白は右から切り捨てられます。
 - 
                                    
フィールドが
OPTIONALLY ENCLOSED BYで指定されたデリミタ付きフィールドで、オプションの囲みが特定のインスタンスで欠落している場合、空白は左から切り捨てられます。 
 - 
                                    
 
注意:
空白のみのフィールドに対して切捨てを指定すると、そのフィールドはNULLに設定されます。
                           
制限事項
- 
                              
TRIMパラメータは、外部表ロード方法が使用される場合にのみ有効です。 
例
次の例では、どのフィールドからも文字が切り捨てられないロード操作を指定します。
TRIM=NOTRIM親トピック: SQL*Loaderのコマンドライン・パラメータ
8.2.40 USERID
SQL*Loaderのコマンドライン・パラメータUSERIDでは、SQL*LoaderのOracleユーザー名とパスワードを指定します。
                     
デフォルト
デフォルトはありません。
用途
SQL*LoaderのOracleユーザー名とパスワードを指定して、その入力を求められないようにします。省略すると、入力要求が表示されます。この値としてスラッシュ(/)を指定すると、USERIDはオペレーティング・システム・ログインにデフォルト設定されます。
                        
構文および説明
USERID=[username | / | SYS]
ユーザー名を指定します。セキュリティ上の理由から、コマンドラインにはユーザー名のみを指定することをお薦めします。SQL*Loaderによってパスワードの入力を要求されます。
USERIDパラメータを指定しない場合、その入力を求められます。スラッシュ(斜線)を使用すると、USERIDはオペレーティング・システムのログインにデフォルト設定されます。 
                        
ユーザーSYSとして接続する場合は、接続文字列にAS SYSDBAも指定する必要があります。
                        
制限事項
- 
                              
文字列
AS SYSDBAには空白が含まれるため、一部のオペレーティング・システムでは、接続文字列全体をなんらかの方法でリテラルとしてマーク(一重引用符で囲むなど)する必要があります。また、オペレーティング・システムによっては、コマンドラインの引用符をバックスラッシュなどでエスケープすることが必要になる場合もあります。システムの特殊文字および予約文字の詳細は、対象オペレーティング・システム固有のマニュアルを参照してください。
 
例
次の例では、ユーザー名のhrを指定します。SQL*Loaderによってパスワードの入力を要求されます。これが指定する最初で唯一のパラメータであるため、パラメータ名のUSERIDを含める必要はありません。
                        
> sqlldr hr
Password: 関連トピック
親トピック: SQL*Loaderのコマンドライン・パラメータ
8.3 終了コードによる結果の検査と表示
Oracle SQL*Loaderでは、SQL*Loaderの完了後、すぐに実行結果を確認できます。
使用上の注意
SQL*Loaderでは、実行結果をログ・ファイルに記録するのみでなく、プロセス終了コードでレポートすることもできます。。このOracle SQL*Loaderの機能によって、コマンドラインやスクリプトからSQL*Loaderを起動したときにもその結果を確認できます。次の表に、様々な結果の終了コードを示します。
表8-1 SQL*Loaderの終了コード
| 結果 | 終了コード | 
|---|---|
| 
                                  すべての列が正常にロードされた  | 
                              
                                  
  | 
                           
| 
                                  すべての行または一部の行が拒否された  | 
                              
                                  
  | 
                           
| 
                                  すべての行または一部の行が廃棄された  | 
                              
                                  
  | 
                           
| 
                                  ロードが中断された  | 
                              
                                  
  | 
                           
| 
                                  コマンドラインまたは構文エラー  | 
                              
                                  
  | 
                           
| 
                                  SQL*Loaderに対してリカバリ不能なOracleエラー  | 
                              
                                  
  | 
                           
| 
                                  OS関連エラー(ファイルのオープン/クローズ、mallocなど)  | 
                              
                                  
  | 
                           
例
LinuxおよびUnixオペレーティング・システムでは、終了コードは次のとおりです。
EX_SUCC 0
EX_FAIL 1
EX_WARN 2
EX_FTL  3
Windowsオペレーティング・システムでは、終了コードは次のとおりです。
EX_SUCC 0
EX_FAIL 1
EX_WARN 2
EX_FTL  4
SQL*Loaderがゼロ以外の終了コードを返した場合、システム・ログ・ファイルおよびSQL*Loaderログ・ファイルで、詳細な診断情報を確認してください。
Unixプラットフォームでは、シェルの終了コードを調べてロード結果を確認できます。
親トピック: SQL*Loaderコマンドライン・リファレンス