Oracle/SQL*Loader

Last-modified: 2008-09-16 (火) 13:40:50

Oracle SQL*Loader

  • 外部ファイルのデータをデータベースに格納する。
  • 制御ファイルが必要。拡張子.ctl

制御ファイル

  • OPTIONS句で、SQL*Loaderコマンドのパラメータを指定できる。※「-1」を指定すると全て無制限になる
    • LOAD:ロード対象のレコード数
    • SKIP:スキップするレコード数
    • ERRORS:エラーを許容する数
    • ROWS:コミットをかけるタイミング
    • DIRECT:TRUE or FALSEを指定。ダイレクトパスロードの使用有無。使用すると、高速にデータをロードすることが出来る。
  • LOAD DATAで、SQL*Loaderの新規ロードを宣言する。
  • INFILE で、外部ファイル名を指定する。
  • BADFILE で、エラーになったレコードを出力するファイル名を指定する(任意)。
  • APPEND は、空でない表にデータをロードする場合に使用する。
  • INTO TABLE 表名で、データをロードするテーブル名を指定する。
  • FIELDS TERMINATED BY "," で、データの終わりを指定する。
  • TRAILING NULLCOLS で、データがない列にはNULLを格納することが出来る。
  • 格納する列名を()で囲む

SQL*Loaderを実行する

  • >sqlldr userid=scott/tiger control=xxx.ctl log=xxx.log