- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:データファイルの縮小)
データファイルのサイズを縮小する方法はないでしょうか?
このQ&Aのポイント
- 現在動いているOracleサーバーのディスクが少なくなってきたため、2年前以前のデータをDELETEして、EXPORT&IMPORTを行いデータファイルのRESIZEをかけたがうまくいかない。なぜでしょう?方法は別でもいいのですが、データファイルのサイズを縮小するいい方法はないでしょうか?
- Oracleサーバーのディスク領域が不足しているため、データファイルのサイズを縮小したいです。2年前以前のデータをDELETEし、EXPORT&IMPORTを行いデータファイルのRESIZEをかけたが、使用中の領域のメッセージが表示されて成功しませんでした。どうすればよいでしょうか?
- Oracleサーバーのディスクスペースが不足しており、データファイルのサイズを縮小したいと考えています。2年前以前のデータを削除し、EXPORT&IMPORTを実施してデータファイルをリサイズしようとしましたが、使用中の領域エラーが発生しました。どのように解決することができますか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ちなみになぜRESIZEをかけても縮小できないかですが DELETEしたとしてもOracle的には完全に開放していないからです。手順としては DELETE→EXPORT→TRUNCATE→IMPORTという手順を踏む 必要があります。 テーブルを存在させたままOracleに「もう消していいよ」と伝えるためにはTRUNCATEをする必要があります。 DELETEは単純に使っていない(上書きしていい)フラグが立つだけでRESIZEや他のテーブルのための領域として使われることはありません。
その他の回答 (1)
- whiteline507
- ベストアンサー率63% (47/74)
回答No.1
一番確実なのは縮小したいデータファイルが属している表領域に入っているテーブルを全てEXPORTしていったんdmpファイルにしておいてから表領域を削除(もちろんデータファイルも削除) それから改めて小さなサイズのデータファイルで表領域を作ってからIMPORTするのが良いかと思います。
質問者
お礼
大変遅くなってすみません。 いろいろ試しましたが、結局EXPORT⇒DROP⇒IMPORTで行うことにしました。 ありがとうございました。
お礼
お礼がおくれてすみません。 いろいろ勉強致しましたが、結局EXPORTして、一回DROPして、IMPORTすることにしました。 ありがとうございました。 また、よろしくお願い致します。