• ベストアンサー

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

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

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

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

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

古いバージョンのオラクルだと、領域の開放は面倒です。 (1)ワークテーブルへのコピー or 外部保存 (2)TRUNCATE (3)ワークテーブルからのコピー or 外部保存からの復元 最近(>=9i?)のモノであれば、表領域に余裕さえあれば、SQL一文で同様のことができるのですが。

noa104
質問者

お礼

早速の回答ありがとうございます。 やはり8だとインポート、エクスポートが必要になり、表領域も作り直さないといけないということですね。 かなりリスクが高くなるということを覚悟しておく必要がありますね。

関連するQ&A

  • ORACLE8 表領域のUSERSが異常に大きい。

    環境は、OS:Windows 2000Server DB:ORACLE 8.1.7です。 SQL/PLUSにてINDEXを追加すると、表領域がINDEX1つ毎に128メガ 増えてしまいます。INDEXは200個ぐらい使用したいのですが、このまま では、ディスク容量が足りません。 また、表をINDEX無しでインポートすると、データ量で変わるのかどうか解りませんが表領域が、 Aファイルは256メガ(128×2) Bファイルは384メガ(128×3) と128×○メガずつ増えてしまいます。 よって、総表領域が30ギガになっています。 このDMPを別の同じ環境のパソコンにIMPすると、10ギガ しか表領域が増えません。 何か設定で、128メガずつ増える表領域を、128メガ以下にすることはできないでしょうか? 早急に対応したいので、申し訳ございませんが、教えて下さい。 宜しくお願いします。

  • 表領域の拡張について

    表領域の拡張について教えてください。 以前、以下のようなSQL文で表領域(WEB_DATA)を作成しました。 -------- CREATE TABLESPACE WEB_DATA DATAFILE '/home1/oracle/app/oracle/oradata/orcl/WEB_DATA.dbf' SIZE 500M REUSE AUTOEXTEND ON NEXT 1M MAXSIZE 1000M EXTENT MANAGEMENT LOCAL AUTOALLOCATE; -------- 最近データ容量も増えており以下のように約800Mほどとなっております。 -------- -rw-r----- 1 oracle oinstall 806363136 11月 6日 08:18 WEB_DATA.dbf -------- よって表領域の拡張を考えております。 そこで、考えられる方法として以下の2つがあると思われますが、どちらを選択するほうが良いのでしょうか? (1)alter tablespace文の add datafile句 (2)alter database文の resize句 両者のメリット・デメリットがイマイチよく分かりません。 (パフォーマンス的にどちらが良いなどもあるのでしょうか?) また表領域のmazsizeの上限値は通常どれほどにしておくべきなのでしょうか? 環境は以下の通りです。 OS:Solaris8 DB:Oracle9i 以上、宜しくお願い致します。

  • 表領域サイズについて

    現在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ほど多く領域が取られているのですが、この現象についてご存知の方がいらっしゃいましたらご教授願えませんでしょうか。 ちなみに他の領域についても同様に計算どおりのサイズになっておらず、増えているサイズはマチマチです。 よろしくお願いいたします。

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

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

  • 表領域作成について

    こんにちは。 現在、Win2KのOracle9.2のDBに表領域を作成しようと考えています。 データファイルの指定方法で質問があります。 初期のデータファイルサイズを25MBにして、さらに自動拡張もしたい場合は どうしたらよいのでしょうか? マニュアルを読む限りでは、SIZEを指定すると、自動拡張できない。 みたいなことが書かれているのですが・・・ しかし、SIZEを指定しないでAUTOEXTENDをONにすると初期サイズが100MBになってしまうし・・・ このような場合はどのように指定したらよいのでしょうか? ご教授願います。

  • Oracle表領域の最大増加量について

    ど素人ですが、ITの勉強をしています。 現在、Oracleについて勉強を始めました。 そこで今のところ理解が出来ていないのが、表領域の最大増加量です。 例えば、Aサーバのディスク容量が100GとしてOracleインストール後の残容量が40Gとします。 この場合、表領域は残容量の40Gまで増やすことが可能なのでしょうか? また、どのようにして調べるべきなのか教えていただけたらと思います。 以上、宜しくお願い致します。

  • 一時表領域について

    システム運用開始前の性能試験で、自動拡張に設定していない一時表領域の容量を超えるOracleのエラー(ORA-1652だったような)が出たため、SQLの修正を行っている最中です。 パフォーマンスチューニングやデータベース容量の設定などには詳しくないため、一時表領域を自動拡張に設定すべきかこのまま自動拡張にしないままにしておくべきかどうかの判断はつかないので、とりあえずそのままにして、一時表領域が容量を超えないようなSQLに修正しようとしています。 ただ、一時表領域のため、容量の見積が出来ず、実際にシステムを動かして確認するしかありません。 自社の環境でもOracleのエラーを再現させることが出来たのですが、一時表領域のサイズが小さくなりません。 これは、エラーのせいなのでしょうか? また、一時表領域を小さく(0バイト)にしたり、いったん削除して再作成したりは出来ないのでしょうか? ALTER TABLESPACE、DROP TABLESPACE 共に実行できませんでした。 ちなみに、この一時表領域は、TEMPORARYタイプでユーザのデフォルトの一時表領域になっています。

  • 表領域拡張の必要性

    Windows2003サーバ上でORACLE10g リリース2を使っています。 ORACLEのインストールは、ほぼデフォルト設定にしてあります。 ORACLEのエンタープライズマネージャで表領域を見ると SYSAUX  サイズが550Mで使用量が540M、セグメント領域の管理=自動 SYSTEM  サイズが560Mで使用量が555M、セグメント領域の管理=手動 となっていました。 オーバーフローしないか心配なのですが、セグメント領域を拡張する必要はあるのでしょうか?。 ちなみにテーブルの表領域はUSERS で残りも60%以上あります。 よろしくお願いいたします。

  • 一時表領域の見積

    納品したWebシステムの性能試験で、SELECT実行時に一時表領域の容量不足というSQLエラーが発生しました。 7.1GBにリサイズしても状況は変わらなかったそうです。 一時表領域は自動拡張なしです。 ユーザからSQLの修正を求められたので、修正して自社環境ではありますが、Webシステムの各機能ごとに一時表領域の拡張を監視して、最終的な最大値を調査しました。 そこで、400MBという結果が出たのですが、Webシステムを複数ユーザで並列に使用することを考慮すると、これが妥当なのかどうかが分かりません。 一時表領域容量の見積は可能なのでしょうか? 見積もれない場合は、ユーザに何と回答したら良いでしょうか?

  • 表領域 TEMPの使用率。

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