インポートとは、エクスポートしたファイル内のデータをデータベースに読み込んでデータを復元することである。
Oracleデータベースにインポートするコマンドには次のものがある。
コマンド | 説明 |
---|---|
imp | インポート・ユーティリティ (後方互換性のために残されている古いコマンド) |
impdp | インポート・ユーティリティ |
impdpはexpdpコマンドでエクスポートしたファイルからデータをOracleデータベースに読み込ませるインポート・ユーティリティである。
$ impdp tsuka/mellon directory=data_pump_dir dumpfile=exp.dmp tables=emp
impdpでインポートを行う場合、ディレクトリ・オブジェクトの作成と権限の付与が必要である。
SQL> CREATE OR REPLACE DIRECTORY data_pump_dir AS '/home/datapump';
SQL> GRANT READ, WRITE ON DIRECTORY data_pump_dir TO tsuka;
impとは、expコマンドでエクスポートしたファイルからデータをOracleデータベースに読み込ませるインポート・ユーティリティである。
imp [user/password] keyword=value ...
ユーザ名を指定する。「USERID=user/password」で指定してもよい。
パスワードを指定する。「USERID=user/password」で指定してもよい。
キーワードと、その値を指定する。空白で区切って、複数指定できる。
キーワード | 説明 |
---|---|
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 tsuka/mellon file=/home/tsuka/emp.dmp rows=y ignore=y tables=emp buffer=1048576