【ORACLE】ダンプファイル

ディレクトリ確認

SELECT * FROM DBA_DIRECTORIES;

ディレクトリ作成

--ディレクトリ名と場所を指定
create or replace directory dump_dir as '/u01/app/oracle';

エクスポート

別のユーザーが所有する表をエクスポートする場合はEXP_FULL_DATABASEロールが必要

データベース単位
expdp user/pass@db full=y directory=dump_dir dumpfile=full.dmp logfile=data.log

--Oracle11g以降非推奨
exp user/pass@db full=y file=c:¥full.dmp 
スキーマ単位
expdp user/pass@db schemas=usr directory=dump_dir dumpfile=usr.dmp logfile=data.log

--Oracle11g以降非推奨
exp user/pass@db owner=usr file=c:¥usr.dmp
表領域単位
expdp user/pass@db tablespaces=tspace directory=dump_dir dumpfile=tspace.dmp
テーブル単位
expdp user/pass@db tables=TBL1, TBL2 directory=dump_dir  dumpfile=data.dmp logfile=data.log

--Oracle11g以降非推奨
exp user/pass@db tables=(TBL1, TBL2) file=c:¥table.dmp 

インポート

他のユーザーが作成したDMPファイルをインポートする場合はIMP_FULL_DATABASEロールが必要

データベース単位
impdp user/pass@db full=y directory=dump_dir table_exists_action=replace dumpfile=full.dmp
 logfile=data.log

--Oracle11g以降非推奨
imp user/pass@db file=c:¥full.dmp full=y
スキーマ単位
impdp user/pass@db schemas=usr directory=dump_dir  table_exists_action=replace dumpfile=usr.dmp logfile=data.log

--Oracle11g以降非推奨
--ダンプファイル内のスキーマ「usr01」のオブジェクト全てを「usr02」スキーマにインポートする
imp user/pass@db fromuser=usr01 touser=usr02 ignore=y file=c:¥usr.dmp
テーブル単位
impdp user/pass@db tables=TBL1, TBL2 directory=dump_dir 
table_exists_action=replace dumpfile=table.dmp logfile=data.log

--Oracle11g以降非推奨
imp user/pass@db tables=(TBL1, TBL2) file=c:¥table.dmp