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

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

SQL*LoaderとOracle DatePump

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

どうもクローバーフィールドの伊関です。

SQL*LoaderとOracle DatePumpという言葉を今の仕事でよく耳にするようになったのでちょっとまとめてみようかなんて思います。

 

用途:データベース外のファイルをSQL内で外部表として閲覧したり、Oracleデータベース間のデータ移動(現行サーバから次期へのマイグレーション等)や現在データの保管(論理バックアップ)に活用できます。

 

結局のところ外部表としてのくくり以外でこの二つのツールは全くの別物ですが、現在相も変わらず手こずっている試験にはこの辺がとてもいやらしい感じで問題として登場するので違いもまとめておきます。

 

SQL*Loader

OSファイルシステム上のデータをOracleデータベースの表にロードするツールで、外部のCSV形式のフラットファイルなどを、データベース内の表をSELECTするようにアクセスすることができます。

 

Oracle DatePump

データベース内のデータをダンプファイルとしてエクスポートすることが出来、またそのダンプファイルを以て他のデータベースにインポートすることが出来ます。すなわちデータのロードとアンロードが可能なわけです。

というより、「ロード/アンロード」というくくりで出題される形式が多いようですが、上述でもありましたがやってることがそもそも違います。

 

 

外部表としてのアクセスドライバ

さて、解説した二つのツールの拡張版として二つのアクセスドライバORACLE_LOADERとORACLE_DATAPUMPがあります。機能してはOracleデータベース内ではどちらも外部表を通す位置づけでは共通したものです。何を言ってるかわからないと思いますにでそれにはまず外部表とは何かというところから説明していきます。

 

外部表とは

外部表とは、「OSファイルシステム上のファイル(外部ファイル)を、あたかもOracleデータベースにあるように扱うことができる」仕組みです。データの実体は外部ファイル内にあり、Oracleデータベースには存在しません。このため、外部表は「外部ファイルを実表としたビュー(データを持たない仮想的な表)」のようなものと考えることができます。

 

外部表のデータは読取り専用で変更処理はできません。あくまで外部データのOracleデータベース内での参照や、インポート、エクスポートが主な用途になります。

 

外部表を介してのアクセスドライバの使い方に関してはコードも交えながら次回に持ち越したいと思いますのでどうぞよろしくお願いします。

 

では。

 

    上に戻る