エクスポートとは、データベース内のデータをファイルに出力することである。インポートとは、このファイル内のデータをデータベースに読み込んでデータを復元することである。
エクスポートしたファイルはデータベースのバックアップとすることもできるし、他のデータベースにデータを移行することにも使うことができる。
| コマンド | 説明 |
|---|---|
| exp | エクスポート・ユーティリティ (後方互換性のために残されている古いコマンド) |
| expdp | エクスポート・ユーティリティ |
エクスポートにはexpdpコマンドを使用する。
expdp marina/horouchi directory=data_pump_dir tables=employee
expdpでエクスポートを行う場合、ディレクトリ・オブジェクトの作成と権限の付与が必要である。
CREATE OR REPLACE DIRECTORY data_pump_dir AS '/home/datapump'
GRANT READ, WRITE ON DIRECTORY data_pump_dir TO marina
expとは、Oracleデータベースのデータをファイルに出力するエクスポート・ユーティリティである。
表モード(表単位でエクスポートする)
exp [user/password] TABLES=[schema.]table keyword=value ...
exp [user/password] TABLES=([schema.]table, ...) keyword=value ...
エクスポートする表の所有者(スキーマ)の名前を指定する。
エクスポートする表(テーブル)の名前を指定する。表の名前には、「%」パターン一致文字を含めることができる。
ユーザモード(ユーザ単位でエクスポートする)
exp [user/password] OWNER=owner keyword=value ...
エクスポートするユーザ(スキーマ)の名前を指定する。
全データベースモード
exp [user/password] FULL=y keyword=value ...
| キーワード | 説明 |
|---|---|
| USERID | ユーザ名/パスワード |
| BUFFER | データバッファのサイズ |
| FILE | 出力ファイル |
| COMPRESS | 1エクステントにインポート |
| GRANTS | 権限のエクスポート |
| INDEXES | 索引のエクスポート |
| DIRECT | ダイレクトパス |
| LOG | 画面出力のログファイル |
| ROWS | データ行のエクスポート |
| CONSISTENT | 表間の一意性 |
| FULL | ファイル全体のエクスポート |
| OWNER | 所有者のユーザ名リスト |
| TABLES | 表名のリスト |
| RECORDLENGTH | I/Oレコードの長さ |
| INCTYPE | 増分エクスポートの種類 |
| RECORD | 増分エクスポートの追跡 |
| TRIGGERS | トリガのエクスポート |
| STATISTICS | オブジェクトの分析 |
| PARFILE | パラメータファイル名 |
| CONSTRAINTS | 制約のエクスポート |
| OBJECT_CONSISTENT | オブジェクトのエクスポート中にトランザクションを読み取り専用に設定 |
| FEEDBACK | n行ごとに進行状況を表示 |
| FILESIZE | 各ダンプファイルの最大サイズ |
| FLASHBACK_SNN | セッションのスナップショットを戻すために使用するSCN |
| QUERY | 表のサブセットのエクスポートに使用するSELECT句 |
| RESUMABLE | 領域関連のエラーが発生すると一時停止する |
| RESUMABLE_NAME | 再開可能文の指定に使用するテキスト文字列 |
| RESUMABLE_TIMEOUT | RESUMABLEの待機時間 |
| TTS_FULL_CHECK | TTSの依存性検査の全部又は一部を実行する |
| VOLSIZE | 各テープボリュームに書き込むバイト数 |
| TABLESPACES | エクスポートする表領域のリスト |
| TRANSPORT_TABLESPACE | トランスポータブル表領域のメタデータのエクスポート |
| TEMPLATE | iASモードのエクスポートを起動するテンプレート名 |
emp表をエクスポートする。
exp marina/horiuchi TABLES=emp FILE=/home/marina/emp.dmp
ユーザ単位でエクスポートする。
exp marina/horiuchi OWNER=marina FILE=/home/marina/marina.dmp
メタ情報をエクスポートする例を示す。
exp marina/horiuchi@sakura STATICTICS=NONE ROWS=N FULL=Y FILE=meta_sakura.dmp LOG=meta_sakura.log