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

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

データファイルの縮小

現在動いているOracleサーバーのディスクが少なくなってきたので、 2年前以前のデータをDELETEして、EXPORT&IMPORTを行いデータファイルのRESIZEをかけたのですが、使用中の領域というメッセージがでてうまくいきません。 なぜでしょう?? 方法は別でもいいのですが、データファイルのサイズを縮小するいい方法はないでしょうか? ちなみにOracleはVer8.1.6でD:はデータファイル、テンポラリファイル、ロールバックファイルのみにしてあります。 トランケートするには、一時的にテーブル退避する領域もなく、かなり困っています。 知ってる方がいたら、情報を下さい。よろしくお願いします。

  • Oracle
  • 回答数2
  • ありがとう数3

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

  • ベストアンサー
回答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

  • Oracle8のエクスポートファイル

    Oracle8においてデータのエクスポートを行ってOracle7環境にインポートしようとしたら、エラーとなってしまいました。下位互換はしないのでしょうか。 また、下位互換しないのであれば、何か簡単な方法でOracle8のデータをOracle7環境に入れることはできないでしょうか?(エクスポートにオプションとかがあるのでしょうか?)

  • ファイルメーカPro4で自動インポートしたい

    環境:Oracle / FileMakerPro4 現在、Oracleから午前4時にtxtファイルをエクスポートして、手作業でFileMakerPro4にそのファイルをインポートしています。 が、毎日のことで、かなりの手間になってしまっています。 これを、Oracle、もしくはFileMaker側で自動的にFileMakerへデータをインポートするにはなにか方法はありますでしょうか? 何とぞよろしくお願いいたします。

  • oracleのエクスポート

    oracle10gで作成したエクスポートファイルをoracle9iにインポートしたいのですがoracle9i形式でエクスポートファイルを作成することは可能でしょうか。

  • ORACLE の export/import ユーティリティのユーザ単位のimport のときは・・?

    oracle7にある表、view,indexなどをoracle8に持っていこうとしています。 ユーザ単位で表やindexをexport し oracle8 に持っていったのですが、元々はindexと表 が別々の表領域にあったのが、すべて同じ表領域になってしまいます。 ユーザ単位でのexportの場合は表領域の情報は格納されないそうですが、 このような場合、一番効率よく、元々の情報(アイテムごとの表領域にもどす) の形にimport するにはどのようにすればいいのですか? ちなみにFULLでのEXPORT/IMPORTは使わないでする方法を探しています。

  • 表領域の違うEXPORT IMPORT

    現在ORACLE8iでSYSTEMという表領域で、データを保持しています。 このデータを異なるオラクルサーバの、例えばAAAという表領域にimportさせたいです。 http://www.geocities.jp/principal_focuses/tech/ora/ora_tech/ora_tech_031.html 等もみたのですが、少しわかりづらかったです・・・。 一番効率よく、EXPORT及びIMPORT出来る方法はありますでしょうか。 ちなみに、AAAの領域には既にテーブルがCREATEされている状態です。

  • データのエクスポート/インポート

    あるシノニムのデータをエクスポートして、その後、エクスポートしたファイルを一部編集して、インポートしたいと思っています。DBはOracle 9iです。 テーブルのエクスポート/インポートだと、CSEなどのツールで実施できるのですが、シノニムだと同様の操作では実施できませんでした。 初心者でも簡単にできる方法を教えてください

  • 11gデータから10gへのインポートについて

    あるシステムのDB管理を行うにあたり、 Oracleを使用しているのですが、 Oracleのバージョンの違いにより、 DMPファイルのインポートが行えない事はございますでしょうか? 詳細は以下です。 ローカル環境のシステム Oracle 10g / 10.2.0.1.0 社内環境のシステム Oracle 11g / 11.2.0.1.0 社内環境システムよりバックアップを行い出力されたDMPファイルを ローカル環境へインポートを試みたところ、 以下のエラーが発生し、インポートができません。 *************************************************************************** 接続先: Oracle Database 10g Release 10.2.0.1.0 - Production IMP-00010: 有効なエクスポート・ファイルではありません。ヘッダーは検証に失敗しました。 IMP-00000: エラーが発生したためインポートを終了します。 接続先: Oracle Database 10g Release 10.2.0.1.0 - Production IMP-00010: 有効なエクスポート・ファイルではありません。ヘッダーは検証に失敗しました。 IMP-00000: エラーが発生したためインポートを終了します。 *************************************************************************** 解決方法をご存知の方がおられましたら ご教示いただけると有難いです。 以上、宜しくお願い致します。

  • Oracleエラー(権限の関係?)

    <環境>マシン:IBM RX6000 OS:AIX Ver.4.3 DB:ORACLE(Ver.8.1.6) 上記環境で、急にCREATEができなくなりました。 (1)ORA-01536: 表領域 TABLESPACE1に対して割り当てられた領域を使い果たしました。 というエラーが出たのですが、 空き領域を整理し、データファイルを新しく割り付けた後も同様のエラーが 発生しました。 それまでの処理は、 2)AユーザからテーブルデータEXPORT後BユーザへIMPORT ※※補足※※ Aユーザのロール:CONNECT、DBA Bユーザのロール:CONNECT、RESOURCE だったのですが、この状態だとBにIMPORTできない ため、 IMPORT前にBにDBAロールを追加、IMPORT後に削除 3)SQL*Loader実行すると、 エラーコード-2 STDERRに関する何かのエラーが出、 (↑ログが残っていないため詳細不明) その後、再度SQL*Loaderを実行しても、 (1)のエラーが発生して処理終了 4)Bユーザに関して、TABLESPACE1に関しても、その他 のTABLESPACE(TABLESPACE2)に関しても、CREATE不可 INSERTも件数が多いと途中で(1)のエラー発生 ※※補足※※ Aユーザに関しては、TABLESPACE2にはCREATE可能 (TABLESPACE1はテスト未) 最終的には、BユーザにDBAロールを追加して、 実行可能になったのですが、元々はDBAロールを持たせずに 処理できていたので、原因が分かりません。 EXPORT&IMPORT時に「権限をIMPORTするか?>Yes」を選択 したことや、DBAロールを追加&削除したことが影響するので しょうか? ただ、最近Oracleサーバの調子が悪かったため、その影響も あるかもしれません。 全く原因が分かりませんので、心当たりのある方、 よろしくお願いします。

  • エクスポートしたファイルの中の確認。

    いつもお世話になっています(^^) オラクルでエクスポートしたファイルを インポートせずに何をエクスポートしたのかを 確かめる方法はありますか?

  • エクスポート&インポートのバージョンの違いについて

    Oracle9iでエクスポートしたデータを Oracle8iにインポートできますか? 試したのですが上記が原因か判断がつきませんでした。 アドバイスお願いします。