たきるブログ

C#やOracleなどの情報を書いています。

【Oracle】Oracleで、データポンプによるエクスポート(expdp)、インポート(impdp)

いっつもOracle10gから追加されたデータポンプによるエクスポート・インポートのやり方を忘れるのでメモしとく!

準備として、処理を行うディレクトリが登録されていないとダメ。
SYSTEMユーザーなどで以下のようにディレクトリを切る。

CREATE OR REPLACE DIRECTORY BACKUP_DIR AS 'D:\Backup';

エクスポート
(スキーマhogeの全オブジェクトをtest.dmpにエクスポートする。同名のファイルがあったら上書きする)

expdp system/manager@service DUMPFILE=test.dmp DIRECTORY=BACKUP_DIR SCHEMAS=hoge REUSE_DUMPFILES=YES

インポート
(スキーマhogeのエクスポートデータをスキーマtestにインポートする)

impdp system/manager@service DIRECTORY=BACKUP_DIR DUMPFILE=test.dmp REMAP_SCHEMA=hoge:test

インポートの際、インポート先のスキーマは存在しなくてもインポートできて、勝手に対象スキーマが作成される。
が、パスワードが何だか分からない状態(ランダムに生成されてる?)になるので、インポートが終わったらパスワードを変更しよう。