Oracle

エクスポート、インポートコマンドまとめ expdp,impdp

【Oracle】エクスポート、インポートコマンドまとめ

従来のexp,impコマンドは使うことほぼないので割愛

↓のエリア内文字切れてるのでカーソルあてて出てくるエリアの右端の斜め右上線をクリックすると全体化されます

systemユーザでやるほうがよい
--ディレクトリオブジェクトの確認
select * from dba_directories;

--ディレクトリオブジェクトの作成
create directory ディレクトリオブジェクト名 as 'ディレクトリのフルパス';

--作成したディレクトリオブジェクトを使う権限を付与する
grant read on directory 作成したディレクトリオブジェクト名 to 使用したいスキーマ名;
grant write on directory 作成したディレクトリオブジェクト名 to 使用したいスキーマ名;
--expdpスキーマ指定
expdp スキーマ名/パスワード@tns名 dumpfile=DATA_PUMP_DIR:お好きなファイル名.DMP schemas=エクスポートしたいスキーマ logfile= DATA_PUMP_DIR:お好きなファイル名.log

--expdpテーブル指定
expdp スキーマ名/パスワード@tns名 dumpfile=DATA_PUMP_DIR:お好きなファイル名.DMP tables=スキーマ名.テーブル名 logfile= DATA_PUMP_DIR:DATA_PUMP_DIR:お好きなファイル名.log

複数テーブル指定する場合はカンマ区切りで指定
例:tables=スキーマ名.テーブル名,スキーマ名.テーブル名,スキーマ名.テーブル名

指定テーブルを正規表現で指定する場合
指定条件を含むテーブル
例:expdp スキーマ名/パスワード@tns名 dumpfile=DATA_PUMP_DIR:お好きなファイル名.DMP  INCLUDE=TABLE:\"LIKE\'HOGE_%\'\" logfile= DATA_PUMP_DIR:DATA_PUMP_DIR:お好きなファイル名.log
この場合「HOGE_」が先頭につくテーブルのみexpdpされる

指定条件を含まないテーブル
例:expdp スキーマ名/パスワード@tns名 dumpfile=DATA_PUMP_DIR:お好きなファイル名.DMP  EXCLUDE=TABLE:\"LIKE\'HOGE_%\'\" logfile= DATA_PUMP_DIR:DATA_PUMP_DIR:お好きなファイル名.log
この場合「HOGE_」が先頭につかないテーブルのみexpdpされる

--impdpスキーマ指定
impdp スキーマ名/パスワード@tns名 directory=DATA_PUMP_DIR dumpfile=ダンプファイル名.dmp schemas=impdpしたいスキーマ名 logfile= DATA_PUMP_DIR:お好きなファイル名.log

--expdpした時のスキーマとimpdpしたいスキーマが異なる場合
impdp スキーマ名/パスワード@tns名 directory=DATA_PUMP_DIR dumpfile=ダンプファイル名.dmp remap_schema=expdpのスキーマ名:impdpのスキーマ名 logfile= DATA_PUMP_DIR:お好きなファイル名.log
※ remap_schema=エクスポート時のスキーマ:インポート時のスキーマ
表領域も異なる場合は
※ remap_tablespace=エクスポート時の表領域:インポート時の表領域
もう一つよく使うオプション
※ table_exists_action=TRUNCATE テーブルが存在した場合TRUNCATEしてからデータをINSERTする
テーブル指定はimpdpのやつを参考に正規表現も使えます


スポンサーリンク

-Oracle
-, ,

© 2024 ぱそやんうぇぶ