- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Oracle移行 exp/imp ブロックサイズ相違 容量オーバー)
Oracle移行exp/impのブロックサイズ相違による容量オーバー
このQ&Aのポイント
- OracleのDBを9iから10gへ、インポート・エクスポートユーティリティを使用して移行しようとした際に、ブロックサイズの相違により容量が足りずにインポートできませんでした。
- 9i環境のブロックサイズが4KB、10g環境では8KBであるため、同じ表領域サイズでも容量が不足する問題が発生しました。
- ブロックサイズが異なるため、PCTFREEで指定した空き領域分はサイズが大きくなることになりますが、インポートされるブロック数は同じであり、空き領域の問題は解決している可能性があります。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
9iの時はエクステントの単位が小さく、10gになるとローカル管理となって エクステントが大きくなっているため容量が小さな表がたくさん表領域に存在すると 領域の利用効率が悪くなっているのではないかと思います。 なお、export/importはブロック単位の情報を取り出しているわけではなく 表の定義や生データを取っているので4KB単位でimportしているわけではありません。
お礼
ご回答ありがとうございます。 根本的な原因は全く別のところにありました。 移行元と先で表領域名がことなり、また、表とINDEXを別表領域で管理しているため、 INDEXも同じ表領域に入ってしまったためでした。 また、expで出力されたダンプファイルが発行するCREATE文のINITIAL句の指定が 若干移行元環境よりも大きめに指定されていたのも一因と思われます。 ブロックの仕様については勉強になりました。 ありがとうございました。