• ベストアンサー

データを削除しても表領域の使用率が減りません

いつもお世話になっております。 今使用している表領域の使用率が高くなってきたため、 不要なテーブルやデータを削除しました。 ですが、少ししか使用率が減らず困っています。 テーブルを削除した際にはPURGE RECYCLEBINで、BIN~のテーブルも 消しています。 何か他に原因があるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • uresiiwa
  • ベストアンサー率45% (49/107)
回答No.3

前の方のおっしゃるとおり、DELETEしただけでは領域は開放されません(ハイウォーターマークが下がらない)ので、以下を試してみてください。 1.該当テーブルの全件削除で良い場合 truncate テーブル名 drop storage; を実行する。 これで領域も開放されます。(最後のところをreuse storageとすると領域保持する意味となる) 2.部分的にdeleteして、領域を開放したい場合 alter table テーブル名 enable row movement; alter table テーブル名 shrink space cascade; alter table テーブル名 disable row movement; を実行する。 1行目は領域開放の前準備、3行目は1行目の変更を元に戻す意味。 2行目でcascadeしておくと、関連インデックスの領域も一緒に縮小してくれます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • entree
  • ベストアンサー率55% (405/735)
回答No.2

表領域の使用率はどのようにして確認されましたか? 仮に表を削除しても、見た目の使用率は変わりません。 これは、表のデータを DELETE しただけではハイ・ウォータ・マーク (HWM) が下がらないのと同じことです。

全文を見る
すると、全ての回答が全文表示されます。
  • id357
  • ベストアンサー率29% (39/133)
回答No.1

多分、その雰囲気では ゴミ箱はクリアされていますね。 あとは、インターネット一時ファイルの 可能性はないですか? IEの、ツール インターネットオプション 真中あたりの 「ファイルの削除」を 実行しても同じでしょうか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 表領域の使用率がもうすぐ100%

    お客様に納めているDBの表領域がもうすぐで 100%使用済み状態になります。 そこでなんらかの対応をしなくてはなりません。 みなさんならどのように対処しますか? 私の考えは 削除できるデータ(テーブル)があれば 削除して使用率を下げます。 もし、削除できるデータがない、または たいして空き領域が増えなければ 表領域を拡張しようと思っています。 ■表領域拡張のメリット・デメリット ・メリット 使える領域が増える ・デメリット バックアップファイルが大きくなる。 バックアップに時間がかかる。 ※データベースファイル ※expコマンドのダンプファイル ※Oracleのバックアップファイル 表領域を拡張するを嫌う方もいらしゃると思います。 技術者みなさんのいろいろ考えが知りたいです。 よろしくお願いいたします。

  • 表領域の使用率

    表領域の使用率が高くなった場合、データ処理速度(Oracleのパフォーマンス)に影響がありますか。

  • 表領域 TEMPの使用率。

    Oracle のTEMP表領域の使用率で質問があります。 サービスを再起動したときに、使用されていたTEMP表領域が開放されて、 再利用可能になるという事までは理解しました。 そこで、質問があるのですが、 1) 再利用可能になると、再利用可能になった分だけ、エンタープライズマネージャの データベース → サービス名 → 記憶域 → 表領域 を参照した時の、 使用量、使用率が減る・・・と、言う解釈で間違いないでしょうか? 検証環境で、再起動を行いこの値を確認してみたのですが、再起動前と再起動後で値の変化がありませんでした。 2) また、TEMP領域の自動拡張がOFFになっていた場合で、TEMP領域を使用するような状況が発生した場合、 どうなるのでしょうか? よろしくお願いします。

  • 表領域の使用量を調べる方法

    お世話になります、 テーブルが作成されている表領域の 現在の使用量を知るにはどのようにすればいいのでしょうか? よろしくお願いします。

  • SQLServer2005でデータ領域を更新したい

    SQLserever2005を使用しております。 あるデータベースをHDに入れて計算してたところ 「データベース '---' のトランザクション ログがいっぱいです。」 とエラーが出てしまい、HDの容量を見てみたら9MBほどしか空いてませんでした。 容量が空いてないのが原因かなと思いデータベースのテーブルを いくつか削除したのですが、HDの空き容量は変わっておりません。 恐らく過去にテーブルを作成した際、データ領域が追加されてしまい、 削除してもそのデータ領域が変わっていないのではないかと思うのですがこのデータ領域を更新することは出来ないでしょうか? [要するに削除した分のデータ領域をHDの空き容量に反映できないのでしょうかという意味です] ご教授宜しくお願いします。

  • 表領域の再編成

    こんにちわ。 いまORACLE10Gで,あるテーブルに20万件データを挿入し,耐久テストをした後で,データ削除したところ, 急にレスポンスが悪化したようです。 表領域の使用状況は, SYSAUX :96.55% SYSTEM :98.99% TEMP :99.89% UNDOTBS1:51.91% USERS :99.63% となっています。 このようなときは,表領域の再編成をすれば良いのでしょうか? ちなみに,TEMPを再編成しようとすると, 「選択した表領域は再編成できません。Oracleでは、SYSTEM、SYSAUX(10i以上)、一時、UNDO、オフラインまたは読取り専用の表領域の再編成はサポートしていません」というメッセージが表示され,再編成できません。 どうすれば,レスポンスが改善するでしょうか? 初歩的なことかもしれませんが,教えてください。 宜しくお願いします。

  • Data Pump で大量データインポートの際のUNDO表領域、TEMP表領域不足エラー解消法のついて

    いつも多くの方々にお世話になっております。 どうしても解決できなかったので、質問を書き込ませていただきました。 大量データのテーブルをDataPump の Impdp でインポートしようとした際に、 UNDO表領域やTEMP表領域不足によりインポートが中断されてしまうので、 その解消法を探しています。 単純にTEMP表領域やUNDO表領域のサイズを大きくすれば解決できるのですが、 ディスクの容量に限りがあり、TEMP表領域やUNDO表領域のサイズを700MBのまま、 大量データをImpdp でインポートできるようにしたいのですが、そうするとうまくいきません。 以前からあったImport の場合でしたら、「COMMIT=Y」としていすれば、 大量データであっても、TEMP表領域やUNDO表領域のサイズを700MBのまま、インポートできました。 しかし、Impdp には「COMMIT=Y」がサポートされなくなったとOTNのドキュメントにも書かれていました。 従来のImport を使えばインポートできるのですが、非常に時間を要するため、 TEMP表領域やUNDO表領域のサイズを気にせずとも Data Pump のImpdp を用いてインポートできる方法を ご存知の方がいらっしゃいましたら、ご教授願えませんでしょうか?

  • 表領域の使用量が知りたい。

    各テーブルごとのエクステント回数及び、表領域の使用量(最大値に対しての)が知る方法はありませんでしょうか。できれば一覧で見れるとよいです。

  • 表領域サイズについて

    現在Oracle10gにてDB構築しているのですが、表領域サイズについてよくわからないので詳しい方がいらしたら教えてください。 以下の3つのテーブルを同一表領域内に入れたいと考え、表サイズの合計サイズ分の表領域を確保してそこにテーブルを作成しようとしたときに領域が足りずにエラーが発生します。 テーブルA 604,800KB テーブルB 444,352KB テーブルC 725,760KB 合計サイズ:1,774,912KB→確保サイズ:1,740MB ブロックサイズ:16KB しょうがないので少しずつ拡張して入るように調整したところ「1,750MB」確保したところ無事に作成することができました。 Enterprise Managerコンソールで使用量を確認したところ「1,744.063MB」となっていました。 約10MBほど多く領域が取られているのですが、この現象についてご存知の方がいらっしゃいましたらご教授願えませんでしょうか。 ちなみに他の領域についても同様に計算どおりのサイズになっておらず、増えているサイズはマチマチです。 よろしくお願いいたします。

  • Oracle8での表領域の開放について

    DWHで使用しているDB(Oracle8)についての質問です。 ユーザーオブジェクトを格納している非SYSTEM表領域が自動拡張の末がDisk容量を圧迫してきています。サーバーのDisk容量に余裕がなくデータファイルを追加することでの対策は打てません。 大容量のTABLEの作成や削除をしていたので実際に使用している容量は多くないはずなので、一度リフレッシュ(使っていない表領域を開放)したいのですが、Oracle8で可能でしょうか? 可能であれば手順についてもご教授いただきたく、宜しくお願い致します。