CSVファイルなどから、Oracleへデータを流し込むツール
CSVや固定長のデータファイルと、データファイルのロードに関する設定を記述したコントロールファイルを準備する。
コントロールファイルに記述する各種設定は、必要なもののみ記述し、不要なものは記述しない。
load data infile '/home/hogehoge/foobar.txt' replace into table HOGE fields terminated by ' ' (hoge_cd, hoge_name, hoge_flg)
実際にsqlldrコマンドを使用する時には、実行するユーザの環境変数を正しく宣言しておかないとうまく入らない。
実行用のシェルスクリプトなどを準備しておいて、
#!/bin/sh export ORACLE_HOME=/oracle/app/oracle/product/x.x.x export LD_LIBRARY_PATH=/oracle/app/oracle/product/x.x.x/lib export PATH=/oracle/app/oracle/product/x.x.x/bin export NLS_LANG=Japanese_Japan.JA16SJIS sqlldr {ID}/{PASS} control='{コントロールファイルのパス}'
といった具合で。
oracle用のユーザで実行する分にはだいたいちゃんとなっていると思うので、NLS_LANGをDBの文字コードと合わせておいて、投入するデータファイルの文字コードも統一しておけば多分すんなり入る。