IMPDPとは?
IMPDPは、EXPDPでエクスポートしたバックアップファイル(dmp)をを使って、
インポートしてリストアすることができるコマンド。
コマンドなのでコマンドプロンプトで実行する。
EXPDPについては下記参照。
基本構文
FULL=Yが、インポートする単位をデータベース全体としている。
指定を変えれば、テーブル単位などに分けることができる。
- FULL=Y
- TABLESPACES=[表領域]
- SCHEMAS=[スキーマ名]
- TABLES=[表名]
IMPDP [ユーザー]/[パスワード]@[接続文字列] DIRECTORY=[ディレクトリオブジェクト] DUMPFILE=[出力ファイル名] LOG=[ログファイル名] FULL=Y
上書き指定オプション
TABLE_EXISTS_ACTIONに下記オプションを指定すると、
上書きなどの指定ができる。
オプション | 意味 |
---|---|
SKIP | テーブルが存在すればスキップする。 |
APPEND | データが存在すればスキップする。存在しなければ追加する。 |
TRUNCATE | 行データを削除して上書きする。 |
REPLACE | テーブルを削除してからインポートする。 |
使用例
下記を実行するとインポートが始まる。
SKIPオプションで、テーブルが存在すればスキップとしているが、
スキップ=エラー解釈され、最後にそのエラー表示が出る。
REPLACEで実行すれば、削除してからインポートなのでエラーは発生しなくなる。
IMPDP testuser/pass@XEPDB1 DIRECTORY=oracle_dir DUMPFILE=XEPDB1.dmp LOG=XEPDB1_import.log FULL=Y TABLE_EXISTS_ACTION=SKIP