Oracleでテーブルが属する表領域の確認や表領域の変更方法、また表領域の使用率の確認

Oracleでテーブルが属する表領域の確認や表領域の変更方法、また表領域の使用率の確認

Oracleでテーブルがどの表領域に属しているかを以下SQLで確認します。

結果は以下のようになりました。

TABLE_NAME TABLESPACE_NAME
SAMPLE_TABLE SYSTEM

SAMPLE_TABLEがSYSTEM表領域に属していることがわかります。

これを別の表領域に変更するにはALTER TABLEを使用します。

SAMPLE_SPACEは別の表領域です。

再度、検索します。

結果は以下のようになりました。

TABLE_NAME TABLESPACE_NAME
SAMPLE_TABLE SAMPLE_SPACE

ちなみにdba_tablesからも表領域は確認できます。

OWNERを指定しないとSYSが所有するテーブルなども表示されるのでOWNERで条件を絞った方が良いです。

表領域の使用率の確認

表領域の使用率を確認するには、以下SQLを発行します。

参考サイト:Oracle使いのネタ帳

実行結果は以下のようになりました。

ちょっと気になったので表領域SAMPLE_SPACEに属するテーブルにレコードを10万件くらいインサートしてみました。

すると、「ORA-01653: 表USER002.SAMPLE_TABLEを拡張できません(128分、表領域SAMPLE\SPACE)。」と表示されました。

このエラーを解決するには、データファイルのリサイズなどが考えられます。具体的な対策方法は、ORA-01653: 表スキーマ名.テーブル名を拡張できません(XXX分、表領域XXX)。を参照ください。

関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
Python3.6,Djangoを勉強中です,Javaは少し飽きてしまってます–;
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくば、我に七難八苦を与えたまえ」です^^

スポンサーリンク
  • このエントリーをはてなブックマークに追加
スポンサーリンク

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA