エクスポートとは、データベース内のデータをファイルに出力することである。インポートとは、このファイル内のデータをデータベースに読み込んでデータを復元することである。

エクスポートしたファイルはデータベースのバックアップとすることもできるし、他のデータベースにデータを移行することにも使うことができる。

スポンサーリンク
エクスポートとインポートのコマンド
コマンド 説明
exp エクスポート・ユーティリティ (後方互換性のために残されている古いコマンド)
expdp エクスポート・ユーティリティ
imp インポート・ユーティリティ (後方互換性のために残されている古いコマンド)
impdp インポート・ユーティリティ

exp

expとは、Oracleデータベースのデータをファイルに出力するエクスポート・ユーティリティである。

表モード(表単位でエクスポートする)

exp [user/password] TABLES=[schema.]table keyword=value ...
exp [user/password] TABLES=([schema.]table, ...) keyword=value ...
schema

エクスポートする表の所有者(スキーマ)の名前を指定する。

table

エクスポートする表(テーブル)の名前を指定する。表の名前には、「%」パターン一致文字を含めることができる。

ユーザモード(ユーザ単位でエクスポートする)

exp [user/password] OWNER=owner keyword=value ...
owner

エクスポートするユーザ(スキーマ)の名前を指定する。

全データベースモード

exp [user/password] FULL=y keyword=value ...
expコマンドに指定できるキーワード
キーワード 説明
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

expdp

エクスポートにはexpdpコマンドを使用する。

expdp marina/horouchi directory=data_pump_dir tables=employee

エクスポート及びインポートを行う場合、ディレクトリ・オブジェクトの作成と権限の付与が必要である。

CREATE OR REPLACE DIRECTORY data_pump_dir AS '/home/datapump'
GRANT READ, WRITE ON DIRECTORY data_pump_dir TO marina

imp

impとは、expコマンドでエクスポートしたファイルからデータをOracleデータベースに読み込ませるインポート・ユーティリティである。

imp [user/password] keyword=value ...
user

ユーザ名を指定する。「USERID=user/password」で指定してもよい。

password

パスワードを指定する。「USERID=user/password」で指定してもよい。

keyword=value

キーワードと、その値を指定する。空白で区切って、複数指定できる。

impコマンドに指定できるキーワード
キーワード 説明
USERID ユーザ名/パスワード
BUFFER バッファのサイズをバイト単位で指定する。
デフォルトは4096バイトであるが、この値は小さすぎてインポートに時間がかかるため、大きな値を指定した方がよい。
FILE 入力ファイル
SHOW ファイル内容の表示のみ
IGNORE インポートするオブジェクトが既に存在していた場合の対応
y: インポートする。
n: エラーを報告して、インポートをスキップする。
GRANTS 権限のインポート
INDEXES 索引のインポート
LOG 画面出力のログファイル
ROWS y: 既に存在するテーブルにレコードをインポートする。
FULL ファイル全体のインポート
FROMUSER 所有するユーザのリスト
TOUSER ユーザ名リスト
TABLES 表名のリスト
RECORDLENGTH I/Oレコードの長さ
INCTYPE 増分インポートの種類
COMMIT 配列挿入時のコミット
PARFILE パラメータファイル名
CONSTRAINTS 制約のインポート
DESTROY 表領域データファイルの上書き
INDEXFILE 指定ファイルの表/索引情報の書き込み
SKIP_UNUSABLE_INDEXES 使用不可の索引のメンテナンスをスキップ
FEEDBACK n行ごとに進行状況を表示
TOID_NOVALIDATE 指定したタイプIDの検証をスキップ
FILESIZE 各ダンプファイルの最大サイズ
STATISTICS 計算済み統計情報のインポート
RESUMABLE 領域関連のエラーが発生すると一時停止する
RESUMABLE_NAME 再開可能文の指定に使用するテキスト文字列
RESUMABLE_TIMEOUT RESUMABLEの待機時間

既に存在するテーブルにレコードをインポートする。

imp marina/horiuchi file=/home/marina/emp.dmp rows=y ignore=y tables=emp buffer=1048576

impdp

インポートにはimpdpコマンドを使用する。

impdp marina/horiuchi directory=data_pump_dir dumpfile=exp.dmp tables=employee
スポンサーリンク