大阪市中央区 システムソフトウェア開発会社

営業時間:平日09:15〜18:15
MENU

ORACLEMASTER 備忘録8(9/10)

著者:伊関星児
公開日:2020/12/15
最終更新日:2020/12/15
カテゴリー:技術情報
タグ:

ORACLEMASTER 備忘録8(8/10)

 

 

表へのデータのロード

 

Oracleシステムでは、“SQL*Loader”と呼ばれるユーティリティを使用して、外部ファイルに保存されている大量のデータをバッチ処理で表にロード(取り込む)ことができる。SQL*LoaderはSQL Developerから呼び出すこともできる。

 

SQL*Loaderによるデータロード

SQL*Loaderのファイル

データをロードする際はSQL*Loaderの“データファイル”と“制御ファイル”を使用する。データファイルとは、ロードするデータが記述されているファイルで、“.csv”ファイルまたは“.xls”ファイルなどであらかじめ作成しておく。例えば次のようなファイル。

 

・SQL*Loaderのデータファイル(例)

10,  ‘SALES’,  ‘東京’

20,  ‘RESEACH’,  ‘名古屋’

30,  ‘FINANCE’,  ‘大阪’

 

制御ファイル(.ctl)とは、データファイルからデータを読み込み方法やデータの場所、データの挿入先の表名が記述されたファイル。制御ファイルは事前に作成しておくことができるし、SQL Developerの中で自動生成することもできる。

ここでは、ロードのウィザードの中で制御ファイルの自動生成を選択し、データのロードを行う方法を理解しておく。また、SQL*Loaderのデータファイルと制御ファイルは、“データベースのデータファイルと制御ファイルとは異なる”という点も覚えておく。

 

SQL*Loaderの特徴

SQL*Loaderには、次の特徴がある。

 

・“sqldrコマンド”で起動するコマンドライン・インターフェイスである

・外部ファイルからデータベースへデータを“バルクロード”(大量データの一括ロード)する

・区切り文字、固定レコード、可変レコードおよびストリームなど、多数の入力形式をサポートしている

・同時に複数の表をロードできる

・強力なデータのフィルター機能がある

 

データのロード方法

SQL*Loaderは、必要に応じて、“従来型パス”、“ダイレクトパス”および“外部表”の3つの異なるデータのロード方法を使用する。ここでは従来型パスとダイレクトパスの違いについて抑えておく。

 

・データのロード方法

 

従来型パス:

デフォルトのロード方法。SQLの“INSERT分”が生成されて、データ表に挿入される。この方法では、その他のすべてのプロセスと均等にバッファ・リソースの競合が発生するため、時間がかかる可能性がある。

 

    上に戻る