• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:データファイルの縮小)

データファイルのサイズを縮小する方法はないでしょうか?

このQ&Aのポイント
  • 現在動いているOracleサーバーのディスクが少なくなってきたため、2年前以前のデータをDELETEして、EXPORT&IMPORTを行いデータファイルのRESIZEをかけたがうまくいかない。なぜでしょう?方法は別でもいいのですが、データファイルのサイズを縮小するいい方法はないでしょうか?
  • Oracleサーバーのディスク領域が不足しているため、データファイルのサイズを縮小したいです。2年前以前のデータをDELETEし、EXPORT&IMPORTを行いデータファイルのRESIZEをかけたが、使用中の領域のメッセージが表示されて成功しませんでした。どうすればよいでしょうか?
  • Oracleサーバーのディスクスペースが不足しており、データファイルのサイズを縮小したいと考えています。2年前以前のデータを削除し、EXPORT&IMPORTを実施してデータファイルをリサイズしようとしましたが、使用中の領域エラーが発生しました。どのように解決することができますか?

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

  • ベストアンサー
回答No.2

ちなみになぜRESIZEをかけても縮小できないかですが DELETEしたとしてもOracle的には完全に開放していないからです。手順としては DELETE→EXPORT→TRUNCATE→IMPORTという手順を踏む 必要があります。 テーブルを存在させたままOracleに「もう消していいよ」と伝えるためにはTRUNCATEをする必要があります。 DELETEは単純に使っていない(上書きしていい)フラグが立つだけでRESIZEや他のテーブルのための領域として使われることはありません。

macky55
質問者

お礼

お礼がおくれてすみません。 いろいろ勉強致しましたが、結局EXPORTして、一回DROPして、IMPORTすることにしました。 ありがとうございました。 また、よろしくお願い致します。

その他の回答 (1)

回答No.1

一番確実なのは縮小したいデータファイルが属している表領域に入っているテーブルを全てEXPORTしていったんdmpファイルにしておいてから表領域を削除(もちろんデータファイルも削除) それから改めて小さなサイズのデータファイルで表領域を作ってからIMPORTするのが良いかと思います。

macky55
質問者

お礼

大変遅くなってすみません。 いろいろ試しましたが、結局EXPORT⇒DROP⇒IMPORTで行うことにしました。 ありがとうございました。

関連するQ&A