HOME > EXPORT(exp)編
EXPORT(exp)
expコマンドによるエクスポートはOracle11g以降、非推奨となっています。
expdpコマンドをご使用ください。
EXPORTはOracleが提供するユーティリティです。
データベース内のデータをダンプ(.dmp)ファイルとして1つのファイルに落とす事ができるので、データのバックアップに使用されます。
また、ダンプファイルをIMPORTユーティリティを使い、他のデータベースへデータを移行することもできます。(バックアップよりもデータ移行が本来の使い方のようです。)
EXPORTの種類
EXPORTにはエクスポートするオブジェクトの範囲分けによって4つのモードがあります。
Exportモード | |
---|---|
表モード | 指定した表のみエクスポートする |
ユーザモード | 指定したユーザの所有するオブジェクトのみをエクスポートする |
表領域モード | 指定した表領域に属するオブジェクトのみエクスポートする |
全データベースモード | SYSスキーマ以外の全てのオブジェクトをエクスポートする |
EXPORTの構文
EXPORTはコマンドラインからコマンドを入力して実行します。コマンドは以下のように記述します。 パラメータがいろいろと指定できるので、細かな設定が可能です。
パラメータ | 値 | 説明 |
---|---|---|
BUFFER | n | 従来型パスにおいて、行フェッチに使用されるバッファサイズ |
CONSTRAINTS | y/n | 制約をエクスポートする場合はY (デフォルト:Y) |
CONSISTENT | y/n | 読取一貫性を保証したトランザクション内でエクスポートする場合は=Y (デフォルト:N) |
COMPRESS | y/n | 1つのエクステントにまとめる場合は=Y(デフォルト:Y) |
DIRECT | y/n | ダイレクトパスエクスポートで実行する場合は=Y(デフォルト:N) ※評価バッファを経由しないため高速にデータを抽出できる。 |
FILE | s | エクスポートするファイル名(デフォルト:expdat.dmp) |
GRANTS | y/n | 権限もエクスポートするときは「=Y」(デフォルト:Y) |
INCTYPE | s |
・全エクスポート:COMPLETE ・増分エクスポート:INCREMENTAL ・累積エクスポート:CUMULATIVE |
LOG | s | ログ出力する場合はファイル名を指定する |
INDEXES | y/n | 索引をエクスポートするか?(デフォルト:Y) |
PARFILE | s |
パラメータをテキストファイルに記述してそのファイル名を指定することでパラメータをセットできる。 例)exp1.txtというテキストファイルにパラメータを記述しておき、PARFILE=exp1.txtで指定する |
ROWS | y/n | 表のデータ行をエクスポートするか?(デフォルト:Y) |
TRIGGERS | y/n | トリガーをエクスポートする場合は=Y(デフォルト:Y) |
USERID | s | EXPORTを実行するユーザIDとパスワード |
TRANSPORT_ TABLESPACE |
y/n | トランスポータブル表領域として実行する場合は=Y(デフォルト:N) |
QUERY | s | 表モードで行のサブセットをEXPORTするためのWHERE句とORDER BY句の指定 |
FULL ★ | y/n |
全データベースモードを指定する場合: FULL=Y |
OWNER ★ | s |
ユーザモードを指定する場合: OWNER=ユーザ名 |
TABLES ★ | s |
表モードを指定する場合: TABLES=エクスポートする表名[,...] |
★のパラメータは指定できるのはどれか1つのみ。
値の意味は以下のとおりです。
n:数値 s:文字列 y/n:y(Yes)またはn(No)
EXPORT文の例
(例)データベースdb01内の全てのオブジェクトを
「c:¥fullexp.dmp」ファイルにエクスポートする
- C:¥>exp usr02/usr02@db01 file=c:¥fullexp.dmp full=y
(例)db01内のusr02スキーマ内のオブジェクトを
「c:¥usrexp.dmp」ファイルにエクスポートする
- C:¥>exp usr02/usr02@db01 file=c:¥usrexp.dmp owner=usr02
(例)db01内のusr02スキーマ内のTEST_TBL表とTEST_TBL2表を
「c:¥tableexp.dmp」ファイルにエクスポートする
- C:¥>exp usr02/usr02@db01 file=c:¥tableexp.dmp rows=y tables=(TEST_TBL, TEST_TBL2)