「みんな教えて! 選手権!!」開催のお知らせ

ORACLE初心者です。

system表領域がいっぱいになる現象が発生しました。(使用率98%)
原因調査を依頼されましたが、system表領域がどのような要素で
構成され、増えていくのか分かりません。

(環境)
Windows2000Server
Oracle 8.1.6 WorkGroupServer

ユーザのデフォルト表領域はちゃんと指定しているとの事です。
何か情報がありましたら、教えていただきたくお願いします。

A 回答 (2件)

SQL*PLUSを起動し、一般ユーザが使用しているユーザIDで


ログインしてください。

そして、
select table_name,tablespace_name
from user_tables;
を実行します。

テーブル名と表領域名が表示されますので、表領域systemを
占有しているテーブル名がわかるかと思います。
    • good
    • 3
この回答へのお礼

本コマンドは、SYSTEM表領域に作成されているテーブルが一覧表示されるのですね。なるほど
また、別ルートで下記のSQLを入手しました。

select username, default_tablespace from dba_users ;

ユーザのデフォルト表領域が表示されます。私が見ている環境では、聞いていた
ユーザは、ちゃんと用意した表領域をデフォルトとしていますが、それ以外の
ユーザは、すべてSYSTEMをデフォルト表領域としていました。
(ただ、インストール時にもいっぱいユーザがいたので、実際どれが容量を
増やしている要因なのかは、これから調べなければなりませんが・・・)

cse_riさん 回答ありがとうございました。
いきなり、Oracleを面倒見る事になってしまい、聞きまくり状態ですが、
早く理解できるように、SQLとか勉強しなければ!!

お礼日時:2001/12/18 14:29

Oracleに限りませんがSYSTEM表領域はそのDBサーバーで管理されているデータベースやテーブル等の管理情報を保持しています。


具体的には、DBサーバーにあるデータベース名の一覧、各データベースに含まれるテーブル一覧、ユーザーアクセス権限などです。

多くのデータベースやテーブルを定義すればするほどSYSTEM表領域は消費されていきます。
SYSTEM表自体もデータベース、テーブルとして定義されていますので、データベース管理者権限にて各テーブルの定義を見ればおおよそのデータ量見積りはできると思います。

事前にこのDBサーバーでどの程度のデータベース数、テーブル数、ユーザー数で使用するのかが分かればSYSTEM表領域をどの程度確保すべきかはある程度見積もることが出来ます。
Oracleの導入マニュアルやデータベース管理者マニュアル等に指針(計算式?)が載っていたはずなので、確認してみてください。
    • good
    • 2
この回答へのお礼

回答ありがとうございます。
色々と見てみましたが、実際の容量が280MB位になっていたので、
質問ではユーザのデフォルト領域設定がちゃんとされている。。。
と書きましたが、どうも あやしい感じがして来ました。

お礼日時:2001/12/18 11:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す


おすすめ情報