OKLabのタイトルロゴ

<<戻る

Oracleインポート・ユーティリティ(imp)

ここでは、Oracleのデータ入力ユーティリティのインポート(imp)コマンドをサンプルと共に簡単に説明します。 インポート・ユーティリティ(imp)を使うことで、大量のデータを一気にデータベースに入れることが出来ます。 SQLのinsert文は、SQLの解析が行われるため、大量のデータの移行や開発時のテストデータ入力などに役立ちます。

インポート・ユーティリティを使うための条件

インポート・ユーティリティはcatexp.sqlまたはcatalog.sqlを実行することでインストールされます。 そのため、どちらかを実行していないと利用することが出来ません。またデータを入力するため、記憶領域の 空き容量にも注意が必要です。最後にインポートが行えるアクセス権限が必要になります。

インポート・モード

このモードというのは、一般の権限やスコープなどの概念と同じです。普通のユーザがOracleの最高権限のデータが エクスポート出来たり、インポート出来たりしたら、セキュリティ上問題があります。そのためモードを指定します。

モード 説明
全データベースモード IMP_FULL_DATABASEロールを持つユーザ
所有者モード すべてのユーザが可能
表モード すべてのユーザが可能
トランスポータブル表領域モード トランスポータブル表領域を使用している場合

インポート・ユーティリティのオンラインヘルプ

オンラインヘルプは一度実行してみたほうがよいでしょう。全体像が分かると思います。

$imp help=y

インポートの実行(パラメータ・ファイルの使用)

インポートの実行は、コマンドラインに直接オプションを記述していく方式と、あらかじめ設定ファイルにすべて記述して おき、impコマンドを実行時にそのファイルを指定する方式があります。どちらも同じように使えますが、1日一回動かす 定期バッチ処理のシェルスクリプトなどでは、あらかじめ設定ファイルを記述しておき、シェルスクリプトを書き換えなくても よいようにするのが一般的です。

パラメータファイルの作成(import.par)

パラメータファイルの例です。読み方は単純で、FROMUSERのFILEに書かれているデータファイルをTOUSERへ(スキーマ)TABLEモードで 書き込みます。またLOGファイルも出力します。

# TEST EXPORT
# date 2004/05/01
#
# USER.MODE EXPORT
#
# default filename is expdat.dmp
FILE=expdat.dmp
FROMUSER=xxxuser
TOUSER=import_test
TABLES=(*)
# log output
LOG=export.log

インポートの実行コマンド

$imp user/pass parfile=import.par

参考資料

Oracle9iデータベース・ユーティリティ,リリース2(9.2)