• 締切済み

表領域 TEMPの使用率。

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

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

みんなの回答

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

> 1) 再利用可能になると、再利用可能になった分だけ、エンタープライズマ > ネージャのデータベース → サービス名 → 記憶域 → 表領域 を参照した時 > の、使用量、使用率が減る・・・と、言う解釈で間違いないでしょうか? 間違いあります。OEM で確認できる使用率は、一時ファイルの先頭部分から「1度以上使用されたことがある領域」のうちの最も後ろにある部分までを使用していると仮定して使用率を計算しています。ここで、「1度以上使用されたことがある領域」には「現在使用されている領域」+「再利用可能な領域」が含まれています。従って、処理の終了やインスタンスの再起動によって再利用可能になっても、OEM から見た一時表領域の使用率が減少するようなことはありません。 > 検証環境で、再起動を行いこの値を確認してみたのですが、再起動前と > 再起動後で値の変化がありませんでした。 はい、そうなります。 例えば、以下の例だと、実際に使用しているのは3/10なので、空き領域は70%です。でも、これをOEMから参照すると、90%となります。(再利用可能な部分も使用しているとみなされる) **++++*++- (凡例)*:使用中、+:再利用可能、-:未使用 > 2) また、TEMP領域の自動拡張がOFFになっていた場合で、TEMP領域を使 > 用するような状況が発生した場合、 再利用可能な領域があればそこを使います。ただし、空きがない場合は当然のこと、さらに実際には空きがあっても断片化していて利用できない場合は自動拡張を試みます。ここで、自動拡張できないとなると、ORA-1652 が発生してその SQL 文は失敗に終わります。

関連するQ&A

  • 表領域の使用率

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

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

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

  • 表領域拡張の必要性

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

  • 表領域の再編成

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

  • Oracle9i Enterprise Managerでデータベース管理

    お世話になってます。オラクル入門者です。 Oracle9iをインストールしてデータベース作成しました。 ここまではよかったのですが、Enterprise Managerを使って作成したデータベースの中身(表領域など)を見ようと以下の手順をしました。 1.Oracle Enterprise Managerコンソール 2.スタンドアロンで起動 しかし、データベースは表示されませんでした(ネットワークだけ)。 データベースは作ったのに表示されないのはなぜなのですか? 誰かオラクルに詳しい方教えてください。 この場合OEMで追加が必要なのですか? よろしくお願いします。

  • Oracleの一時表領域について

    毎々お世話になっております。 一時表領域が肥大化してきたため、オンラインで縮小処理をしました。 http://www.roy.hi-ho.ne.jp/montague/lilical-oracle.html TEMP01を使用していたため、TEMP02を作成しTEMP01をオフラインにしました。 そしてdropしようとすると失敗しました。エラーが出たらしいのですが、後輩が消してしまったため わかりません。またTEMP01の物理ファイルも削除してしまったようです。 今の一時表領域をみるとTEMP02がオンラインになっていました。正常に使用もされていましたが、 TEMP01が中途半端に残っています。TEMP01もオンラインになっていますが、サイズは0MBとなっています。TEMP01をオフラインにするSQLを入力するとオフラインになりましたというメッセージが出ます。しかしDROPしようとすると、使用できない旨のエラーがでます。 解決方法が分からなくて困っています。 バックアップファイルもないため困っています。 このような状況になった方はおられますでしょうか?お手数ですがご教授ください。

  • TEMP/UNDO領域の適切なサイズについて

    AIX5.2を使用しているのですが、UNDO領域とTEMP領域の適切な見積もり方法がわかりません。なにか良い方法はありませんでしょうか? また、現状は両方とも常に100%の使用率となっているのですが、割り当てられている領域サイズが適切かどうか判断する方法などもご存知でしたらどなたか教えてください・・・。

  • Oracleのsystem表領域について

    ORACLE初心者です。 system表領域がいっぱいになる現象が発生しました。(使用率98%) 原因調査を依頼されましたが、system表領域がどのような要素で 構成され、増えていくのか分かりません。 (環境) Windows2000Server Oracle 8.1.6 WorkGroupServer ユーザのデフォルト表領域はちゃんと指定しているとの事です。 何か情報がありましたら、教えていただきたくお願いします。

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

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

  • Temp.ora について

    いつもお世話になっています。 現段階の私のスキルはOracleDBの管理はかなりの初心者です。 VBとの開発で少し使用したくらいの知識しか持っていません。 OracleDBで困ったことがありまして質問させていただきます。 普段余り使用していないOracleのDBを見に行こうと思い、 接続したらエラーになりました。 いろいろ調査して見たところ、 DBが入っているマシンのC:\Temp\Temp.Ora のファイルが無くなっているのに気が付きました。 コマンドプロンプトの画面からデータベースを起動しようと思い Startup コマンドで起動する際に下記のエラーが出たことによって気が付いたのですが、 メッセージ部分が文字化けしており、エラー番号のみ分かる状態です。 ORA-01157: ???????? 8???/?????????DBWR??????????????????? ORA-01110: ???????? 8 : C:\TEMP\TEMP.ORA こういう場合はOracleを入れなおすしか方法はないのでしょうか? Temp.ora を再作成する方法があればベストなのですが…。 何か方法をご存知の方よろしくお願いいたします。