SQLローダーとは?
SQLローダー
大量の外部ファイルのデータをデータベースに取り込むときに使うもの
ctlファイル
ctlファイル(制御ファイル)には、csvファイルに書かれたデータをどのようにSQLローダーが読み込むのかを設定する
具体的にはテーブル名とカラム名と型などを書き込む
書き方にはいくつかの注意があり、ハマったのでメモ
- VARCHAR型はCHAR型と記入
- NUMBER型はDECIMAL EXTERNAL型と記入
- 例えば CHAR(1)と指定し、csvファイルでデータを"1"と記入したときはエラーになってしまう
理由は、ダブルクオーテーションも1文字として換算されているからである
ダブルクオーテーションを使うときは FIELDS句で囲み文字の設定をする必要がある
⇒FIELDS [TERMINATED BY (区切り記号)] [OPTIONALLY] [ENCLOSED BY (囲み記号)
csvファイル
カンマで区切られたファイルのこと
ここにテーブルに入れたいレコードのデータを記入していく
shファイルで作られ、ctlファイルで制御される
shファイル
shファイルはコマンドを作るためのファイルでありシェルスクリプトで書かれる
今回は、csvファイルに大量のデータを書き込むように設定する