インポート(未完成)
エクスポート・ファイルのデータをOracleに書き戻す
参考>ユーティリティ・ユーザーズ・ガイド
目次。
事前準備
アクセス権限
制限事項
エラー処理
事前準備
インポート・ユーティリティを使用するにはDB作成後、下記のどちらかのスクリプトを実行する
※ただし、Oracleを普通にインストールしていればCATALOG.SQLはすでに実行されている
- CATEXP.SQLの実行
- CATALOG.SQLの実行(CATEXP.SQLを実行する)
CATEXP.SQLのお仕事
IMP_FULL_DATABASEロールに、必要なすべての権限を割り当てる。
IMP_FULL_DATABASEをDBAロールに割り当てる。
注意!>読出し専用の表領域にはインポートできない。書き込み可能にしてあとで戻すようにしよう。
アクセス権限
CREATE SESSION権限・・・Oracle Serverにログオンするため(DB作成中に確立したCONNECTロールに含まれる)
IMP_FULL_DATABASEロール・・・他のユーザが作成したエクスポート・ファイルをインポートするときに必要
前提:エクスポート・ファイルが全データベース・エクスポートで作成され(EXP_FULL_DATABASEロールをしようしている人に作成された場合)、IMP_FULL_DATABASEロールが付与されているときに限る
制限事項
DBの初期設定時に、ユーザー任意の表領域にインポートする場合には、新しいロールバックセグメントを作成する必要がある。
※初期設定時にはSYSTEMというロールバックセグメントがOracleによって作成される。これはSYSTEM表領域のオブジェクトを処理するトランザクションにのみ使用される。
※ロールバック・セグメントのための記憶領域パラメータOPTIMALは、エクスポートおよびインポート時には保たれない
エラー処理
オブジェクトエラー(致命的エラーと非致命的エラーがある)
行エラー(致命的エラーと非致命的エラーがある)
表オブジェクト:インポートの順序
- 表定義
- 表データ
- 表索引
- 整合性制約及びトリガー
インポート・モード
表
ユーザー
全データベース
インポート・ユーティリティの使用方法(ほとんどエクスポートと一緒なのでチョロチョロっと書きます)
下記のいづれか。やっぱ1でしょうけど。
因みにコマンドはOracle7.3NT上ではimp73.exeという名前であった。
1.コマンド : IMP user_name/passward PARFILE=file_name
OR
IMP PARFILE=file_name
→残りのインポートパラメータは指定されたファイルに入れておく
2.コマンド : IMP user_name/passward のあとに各種引数を指定する。
→システム上でパラメータ数がコマンド行の最大の長さを超えない限り使用可。
3.コマンド : IMP er_name/passward で開始し、あとは対話式。
インポート・パラメータ
※順序はとっても重要。ホントはこの順序で指定すればキーワードはいらないんだけどやっぱ危ないからやめておこうね。
キーワード 内容(デフォルト値) キーワード 内容(デフォルト値) USERID ユーザー名/パスワード INDEXFILE 指定されたファイルへ表/索引情報の書き込み BUFFER データ・バッファ・サイズ CHARSET エクスポート・ファイル(NLS_LANG)のキャラクタ・セット FILE 出力ファイル(EXPDAT.DMP) FULL 全ファイルをインポート(N) SHOW EXPファイル内容表示(N) FROMUSER 所有するユーザーのリスト IGNORE 作成時エラー無視(N) TOUSER インポート先のユーザーのリスト GRANTS 権限のインポート(Y) TABLES 表名リスト INDEXES 索引のインポート(Y) RECORDLENGTH ファイルのIOレコード長 ROWS 表データ行のインポート(Y) INCTYPE 増分インポートの種類 LOG 画面出力のログ・ファイル COMMIT 配列挿入後にコミット(N) DESTROY 表領域データ・ファイルの上書き(N) PARFILE パラメータ・ファイル