【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のやつを参考に正規表現も使えます