2007年7月24日火曜日

Oracleフルインポートによる性能への影響

■エクスポート/インポートの使用目的
1.表データを再編する
- ある表領域のデータを別の表領域に移動すると、競合が減ったり、空き領域の断片化が低減したり、バックアップの取得が効果的になる時
- 表に行移行が多数存在する時
- 表にデータが僅かしか入っていないのに、そのデータが多数のブロックに分散して入っている時

2.あるユーザーが所有するデータを別のユーザーに移動する
オブジェクトの所有ユーザーをデータベースから削除したり、オブジェクトの所有者を別のユーザーに変更する時に利用。
  あるユーザーがエクスポートしたデータを別のユーザーにインポート。

3.データベース間でデータを移動する
定義のみを抽出して、データを無視することによって、オブジェクト定義を開発環境から本番環境へ移動。

4.別のプラットフォームまたは別のOracleリリースへ移行する
あるマシンでエクスポートされたデータは、異なるキャラクタ・セットを使用する可能性があっても、別のマシンのデータベースにインポートできる。
また、Oracleの新しいリリースにアップグレードする時は、古いリリースからデータをエクスポートして、新しいリリースにインポートできる。

■行移行
→最初にinsertしたデータをupdateする際に、update後のデータサイズが元のデータより大きいため、別のブロックにデータが保存されてしまう。

■行連鎖
→insertしたデータ容量がブロックサイズを超えてしまい、複数のブロックへ1行のデータがまたがってしまう。

0 件のコメント: