かきスタンプ

福岡でフリーランスの物流系のエンジニアやってます。

Oracle:SYSDBAでのエクスポート/インポート

エクスポートをSYSDBAで実行する時、ログイン識別子をエスケープシーケンスで囲ってやればOKです。

実行例

expdp \"user/pass@net_service_name AS SYSDBA\" DIRECTORY=dump_save_directory DUMPFILE=filename.dmp SCHEMAS=schema_name

 expdpは、旧コマンドのexpと異なり、DIRECTORY OBJECT(上記の実行例ではdump_save_directoryがそれにあたります) を作ってやらないといけないのが面倒。

DIRECTORY OBJECT 作成コマンド例

CREATE DIRECTORY dump_save_directory AS 'F:\backup'

登録した内容は以下のSQLで確認可。

select * from dba_directories  

インポート(同一スキーマ

impdp \"user/pass@net_service_name AS SYSDBA\" DIRECTORY=dump_save_directory DUMPFILE=filename.dmp SCHEMAS=schema_name

インポート(異なるスキーマ

impdp \"user/pass@net_service_name AS SYSDBA\" DIRECTORY=dump_save_directory DUMPFILE=filename.dmp REMAP=exp_dump_schema:imp_dump_schema