ここでは、Oracleのデータ出力ユーティリティのエクスポート(exp)コマンドをサンプルと共に簡単に説明します。 エクスポート・ユーティリティ(exp)を使うことで、大量のデータを一気にデータベースからダンプファイルに出力出来ます。 SQLのselect文は、SQLの解析が行われるため、大量のデータの移行や開発時のテストデータ出力などに役立ちます。
エクスポート・ユーティリティはcatexp.sqlまたはcatalog.sqlを実行することでインストールされます。 そのため、どちらかを実行していないと利用することが出来ません。またデータを入力するため、記憶領域の 空き容量にも注意が必要です。最後にインポートが行えるアクセス権限が必要になります。
このモードというのは、一般の権限やスコープなどの概念と同じです。普通のユーザがOracleの最高権限のデータが エクスポート出来たり、インポート出来たりしたら、セキュリティ上問題があります。そのためモードを指定します。
| モード | 説明 |
| 全データベースモード | |
| 所有者モード | すべてのユーザが可能 |
| 表モード | すべてのユーザが可能 |
| トランスポータブル表領域モード | トランスポータブル表領域を使用している場合 |
オンラインヘルプは一度実行してみたほうがよいでしょう。全体像が分かると思います。
$exp help=y
エクスポートの実行は、コマンドラインに直接オプションを記述していく方式と、あらかじめ設定ファイルにすべて記述して おき、expコマンドを実行時にそのファイルを指定する方式があります。どちらも同じように使えますが、1日一回動かす 定期バッチ処理のシェルスクリプトなどでは、あらかじめ設定ファイルを記述しておき、シェルスクリプトを書き換えなくても よいようにするのが一般的です。
パラメータファイルの例です。読み方は単純で、OWNERを指定すると、所有者モードでのエクスポートとなり、 FILEに書かれているデータファイルへ書き込みます。またLOGファイルも出力します。
# TEST EXPORT
# date 2004/05/01
#
# USER.MODE EXPORT
#
OWNER=xxxuser
# default filename is expdat.dmp
FILE=expdat.dmp
GRANTS=y
INDEXES=y
CONSISTENT=y
# log output
LOG=export.log
$exp user/pass parfile=export.par
Oracle9iデータベース・ユーティリティ,リリース2(9.2)