SQL*Loaderでデータをロードするには、次の2つの方法があります。
従来型パス・ロードでは、Oracle Databaseの表に対して(1つ以上の)SQL INSERT
文が実行されます。ダイレクト・パス・ロードでは、Oracleデータ・ブロックをフォーマットし、データ・ブロックを直接データ・ファイルに書き込むため、Oracle Databaseのオーバーヘッドが大幅に削減されます。ダイレクト・パス・ロードでは、データベース・リソースに対して他のユーザーとの競合が発生しないため、ディスク速度に近い速度でデータをロードできます。
データをロードする表はデータベース中に存在している必要があります。SQL*Loaderでは、表は作成されません。すでにデータが含まれているか、または空である既存の表にロードされます。
ロードする表についてのINSERT
権限。
ロードする表にすでにデータが存在するために、REPLACE
オプションまたはTRUNCATE
オプションを使用して古いデータを削除してから新しくデータをロードする場合には、その表についてのDELETE
権限。