Oracleのエクスポート/
この記事の内容はコチラです
- Oracleのデータをエクスポートする
- Oracleにデータをインポートする
- データベース全体、表領域、スキーマ、テーブル単位でバックアップする
今回は、Oracleのエクスポート/
Oracleのexpdp/impdp(エクスポート/インポート)
Oracleのデータをバックアップする方法の1つに、エクスポート/
エクスポート(expdp)はデータベースを外部ファイル(dumpファイル)へ出力します。インポート(impdp)はdumpファイルからデータベースへ戻します。
エクスポート/
- データベース全体
- 表領域
- スキーマ
- テーブル
これら4種類のエクスポート/
データベース全体をエクスポート/インポートする
-- データベース全体をバックアップ EXPDP/IMPDP {ユーザー}/{パスワード}@{接続文字列} DIRECTORY={ディレクトリ} DUMPFILE={ファイル名} LOG={ログファイル名} FULL=Y -- 例 EXPDP test/pass@orcl DIRECTORY=dp_dir DUMPFILE=dmp_db.dmp LOG=exp.log FULL=Y IMPDP test/pass@orcl DIRECTORY=dp_dir DUMPFILE=dmp_db.dmp LOG=imp.log FULL=Y
データベース全体をエクスポート/
ディレクトリは事前に設定しておく必要があります。
表領域をエクスポート/インポートする
-- 表領域tabsp1を指定してバックアップ EXPDP/IMPDP {ユーザー}/{パスワード}@{接続文字列} DIRECTORY={ディレクトリ} DUMPFILE={ファイル名} LOG={ログファイル名} TABLESPACES={表領域} -- 例 EXPDP test/pass@orcl DIRECTORY=dp_dir DUMPFILE=dmp_file.dmp LOGFILE=exp.log TABLESPACES=tabsp1 IMPDP test/pass@orcl DIRECTORY=dp_dir DUMPFILE=dmp_file.dmp LOGFILE=imp.log TABLESPACES=tabsp1
表領域単位でエクスポート/
スキーマをエクスポート/インポートする
-- スキーマtestを指定してバックアップ EXPDP/IMPDP {ユーザー}/{パスワード}@{接続文字列} DIRECTORY={ディレクトリ} DUMPFILE={ファイル名} LOG={ログファイル名} SCHEMAS={スキーマ} -- 例 EXPDP test/pass@orcl DIRECTORY=dp_dir DUMPFILE=dmp_file.dmp LOGFILE=exp.log SCHEMAS=test IMPDP test/pass@orcl DIRECTORY=dp_dir DUMPFILE=dmp_file.dmp LOGFILE=imp.log SCHEMAS=test
スキーマ単位でエクスポート/
テーブルをエクスポート/インポートする
-- スキーマtestのempテーブルを指定してバックアップ EXPDP/IMPDP {ユーザー}/{パスワード}@{接続文字列} DIRECTORY={ディレクトリ} DUMPFILE={ファイル名} LOG={ログファイル名} TABLES={テーブル} -- 例 EXPDP test/pass@orcl DIRECTORY=dp_dir DUMPFILE=dmp_table.dmp LOGFILE=exp.log TABLES=test.emp IMPDP test/pass@orcl DIRECTORY=dp_dir DUMPFILE=dmp_table.dmp LOGFILE=imp.log TABLES=test.emp
テーブル単位でエクスポート/
expdp/impdp(エクスポート/インポート)のオプション
DIRECTORY
ディレクトリオブジェクトを指定しています。事前にディレクトリを作成しておく必要があります。上記では「dp_dir」になります。ディレクトリについてはこちらを参照してください。
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のデータを論理バックアップするエクスポート/
コメント