ディレクトリ確認
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