ここではORACLEデータベースで、表領域の一覧や使用率を取得するSQLを紹介しています。
表領域の作成や変更、削除は↓で紹介していますので参考にしてください。
>>【ORACLE】表領域を作成・変更・削除するSQL
表領域の一覧を確認するSQL
表領域の一覧は、DBA_TABLESPACESを参照することで確認できます。
現行のユーザーがアクセスできる表領域のみの一覧はUSER_TABLESPACESで確認することが出来ます。
SELECT * FROM DBA_TABLESPACES;
DBA_TABLESPACESの主な列の意味は次の通りです。
・TABLESPACE
表領域の名前
・BLOCK_SIZE
表領域のブロックサイズ(バイト)
・STATUS
ステータス:ONLINE、OFFLINE、READ ONLY
・CONTENTS
表領域の種類:UNDO、PERMANENT、TEMPORARY
・LOGGING
ロギングモード:LOGGING、NOLOGGING
・FORCE_LOGGING
強制ロギングモードかどうか
・EXTENT_MANAGEMENT
表領域内のエクステントが、ディクショナリ管理表領域か(DICTIONARY)、ローカル管理表領域か(LOCAL)
・ALLOCATION_TYPE
この表領域に有効なエクステント割当てのタイプ:SYSTEM、UNIFORM、USER
・PLUGGED_IN
この表領域がプラグインかどうか
・SEGMENT_SPACE_MANAGEMENT
この表領域内のセグメントの空き領域と使用済領域を空きリストを使用して管理するかどうか
・DEF_TAB_COMPRESSION
デフォルトの表圧縮が使用可能どうか
・BIGFILE
表領域がbigfile表領域かどうか
・ENCRYPTED
表領域が暗号化されているかどうか
表領域の使用率を確認するSQL
表領域の使用率はDBA_TABLESPACE_USAGE_METRICSで確認することが出来ます。
SELECT * FROM DBA_TABLESPACE_USAGE_METRICS;
DBA_TABLESPACE_USAGE_METRICSの列の意味は次の通りです。
・TABLESPACE_NAME
表領域の名前
・USED_SPACE
表領域の使用された領域(ブロック数)
・TABLESPACE_SIZ
表領域の最大サイズ(データベース・ブロック数)
・USED_PERCENT
表領域の使用率
まとめ
表領域の一覧や状態、設定についてはDBA_TABLESPACESで確認できます。
表領域の使用率についてはDBA_TABLESPACE_USAGE_METRICSで確認することが出来ます。