Export/Import まとめ
これは、日々の業務で使っているので楽勝。
これらの仕組みのイメージは、エクスポートを行なうとdumpファイルができるに
CREATE TABLE文,INSERT 文が格納されており、
インポートでその文が実行されてデータが移行できますよ。と思っている。
エクスポート
4つのモードがある。
- 表モード
- ユーザモード
- 全データベースモード
- 表領域モード
コマンドのパラメータとして、あまりなじみがないのはこれぐらいかな。
- TRANSPORT_TABLESPACE
- トランスポータブル表領域として実行するか?
- QUERY
- WHERE句、ORDER BY句の指定(表モードのみ指定可能)
- COMPRESS
- 1つのエクステントにまとめてエクスポートするか?
インポート
モードについては、エクスポートと同じなのでパス。
内部処理の手順はこのようになってる。
- 新規表の作成
- データのINSERT処理
- B*Tree索引の作成
- 制約の有効化
- トリガーのインポート
- その他索引の作成
テーブルごとにこれの繰り返しとなるので、参照整合性制約がある場合は、
1度のインポートじゃうまくいかない場合がある。
その場合は、
- まず、制約なしのデータのみインポート
- imp system/system FILE = full.dmp FULL= y CONSTRAINTS=N
- 次に、データなしの制約のみインポート
- imp system/system FILE = full.dmp FULL= y ROWS=N
これでいいような希ガス。
コマンドのパラメータとして、あまりなじみがないのは
- COMMIT
- 配列ごとにコミットするか(Nの場合は表単位)
- SHOW
- エクスポートファイルの内容を画面表示するか?よくわからん