• 締切済み

DBA_FREE_SPACEについて

Oracleのビュー、DBA_FREE_SPACEの見方を教えてください。 手持ちのデータベースで、エクステントが発生しているものがあり、気になったのでこれを再構築しようと思いました。 手順としては、 1.現状のデータベースをエクスポート(FULL,COMPRESS=Y) 2.テーブル、インデックスを全てドロップ 3.テーブルスペースをドロップ 4.テーブルスペースを再構築    (容量は余裕があったので、初期に作成時と同じスクリプトで)    (既存のデータファイルは消さずにreuseオプションを指定) 5.テーブル、インデックスをINITIAL EXTENTSを現状の容量より上の値に調整。 6.テーブル・インデックスの再作成 7.データのインポート 8.全オブジェクトの再コンパイル の順に実施しました。 作業後、DBA_SEGMENTSより全テーブル・インデックス にextentが発生していない状態になったことは確認できたのすが、 DBA_FREE_SPACEを見ると、テーブルスペースがあたかも二つに分割されて使われているように 表示がされました。(下記参照) SQL> select * from dba_free_space where tablespace_name ='TB1' TABLESPACE_NAME FILE_ID BLOCK_ID BYTES BLOCKS RELATIVE_FNO --------------- ------- -------- ----- ------ ------------ TB1 9 12981 40960 5 9 TB1 9 13001 103219200 12600 9 この状態による悪影響としてはどのようなものがありますか? また、この状態を解消する方法があれば教えてください。 (CREATE TABLESPACEを"reuse"でやったのがまずかったのでしょうか?) 環境は Oracle8.0.6.0.0(Solaris) Oracle8.1.6.2.0(Solaris) の2点で同様の現象を確認しています。 以上、よろしくお願いします。

みんなの回答

  • paz777
  • ベストアンサー率47% (77/163)
回答No.2

お返事が遅くなりました。 >Oracleの弊害一覧って、どちらかに掲載されているのでしょうか? >上記、弊害について詳細をしりたいのですが。 私こそ勉強不足なのですが、多分「弊害一覧」ってのは無いと思います。 前回、私が回答させていただいた内容は、実体験とマニュアルに 記載されていることの逆説を元にして回答しました。 当件に関しては「管理者ガイド 表領域割当てを管理する」の項目を 参照しました。 (ここにマニュアルの内容を明記することは著作権の関係で出来ない  と思われますので、ご理解下さい。) >またCOALRESCEについては、試してみましたが >DBA_FREE_SPACEに変化ありませんでした。 ってことは、連続した空き領域ではないってことですね。 う~ん、なぜでしょう・・・? ごめんなさい。これ以上は私も分かりません。

hidekino
質問者

お礼

ありがとうございました。上記情報を元に、もう少し掘り下げて調べてみます。

  • paz777
  • ベストアンサー率47% (77/163)
回答No.1

こんにちは。 分かる範囲内で・・・ >この状態による悪影響としてはどのようなものがありますか? 単純に言えば、40K以下のテーブルを作る時にしか、小さい空き部分を使う可能性がない と言う弊害があります。 あくまで可能性なので小さい空き部分が使用されるとは言い切れません。 >また、この状態を解消する方法があれば教えてください。 解消されるかどうかは分かりませんが、以下のコマンドで空き領域を連続する空き領域に することが出来ます。(Oracle 8からの新機能) SQL> ALTER TABLESPACE テーブルスペース名 COALESCE; 空き領域が物理的に連続していれば、このコマンドで1つに統合されるはずです。 お答えできるのは、これくらいです。

hidekino
質問者

補足

ご回答ありがとうございます。 >単純に言えば、40K以下のテーブルを作る時にしか、小さい空き部分を使う可能性がない >と言う弊害があります。 >あくまで可能性なので小さい空き部分が使用されるとは言い切れません。 勉強不足で申し訳あません。 Oracleの弊害一覧って、どちらかに掲載されているのでしょうか? 上記、弊害について詳細をしりたいのですが。 またCOALRESCEについては、試してみましたが DBA_FREE_SPACEに変化ありませんでした。 何かフォローがありましたら、よろしくお願いします。

関連するQ&A