OracleのEXPDP/IMPDP(エクスポート・インポート)の使い方

Oracleのexpdp/impdp(エクスポート/インポート)

Oracleのデータをバックアップする方法の1つに、エクスポート/インポート(expdp/dmpdp)があります。

エクスポート(expdp)はデータベースを外部ファイル(dumpファイル)へ出力します。

インポート(impdp)はdumpファイルからデータベースへ戻します。

エクスポート/インポート(expdp/dmpdp)は4種類のモードがあります。

  • データベース全体
  • 表領域
  • スキーマ
  • テーブル

これら4種類のエクスポート/インポートコマンドは下記の通りです。

データベース全体をエクスポート/インポートする

データベース全体をエクスポート/インポート(expdp/dmpdp)するには「FULL=Y」とします。

ディレクトリは事前に設定しておく必要があります。

Oracleのディレクトリオブジェクト(DIRECTORY)を作成するSQL

表領域をエクスポート/インポートする

表領域単位でエクスポート/インポート(expdp/dmpdp)するには「TABLESPACES=表領域名」とします。

スキーマをエクスポート/インポートする

スキーマ単位でエクスポート/インポート(expdp/dmpdp)するには「SCHEMAS=スキーマ名」とします。

テーブルをエクスポート/インポートする

テーブル単位でエクスポート/インポート(expdp/dmpdp)するには「TABLES=テーブル名」とします。



expdp/impdp(エクスポート/インポート)のオプション

DIRECTORY

ディレクトリオブジェクトを指定しています。事前にディレクトリを作成しておく必要があります。上記では「dp_dir」になります。ディレクトリについてはこちらを参照してください。

Oracleのディレクトリオブジェクト(DIRECTORY)を作成するSQL

DUMPFILE

バックアップ先、バックアップ元のダンプファイル名を指定します。拡張子は「.dmp」です。

LOGFILE

ログファイル名を指定します。省略可能です。

CONTENT

対象を「データのみ」か「テーブルの定義のみ」かに絞ることができるオプションです。

  • DATA_ONLY ・・・テーブルのデータのみ
  • METADATA_ONLY ・・・テーブルの定義のみ
  • ALL ・・・テーブルのデータ・定義を両方

データのみインポートする場合は、「CONTENT=data_only」をIMPDPに追加します。

TABLE_EXISTS_ACTION

インポート時に使用できるオプションです。

  • SKIP ・・・ テーブルがあればスキップします
  • APPEND ・・・データがあればスキップ。なければ追加します
  • TRUNCATE ・・・既存の行を削除して上書きします
  • REPLACE ・・・既存のテーブルを一旦削除してからインポートします

データをすべてまっさらにして上書きする場合は、「TABLE_EXISTS_ACTION = REPLACE」をIMPDPに追加します。

以上、Oracleのデータを論理バックアップするエクスポート/インポート(expdp/impdp)でした。