このブログを検索

2011年2月6日日曜日

表領域の使用状況

表領域単位にデータファイルの使用状況を確認します。
outer joinにしているのは、空き容量が枯渇した場合にdba_free_spaceのレコードがなくなるため。

UNDO表領域は実際の使用量よりはかなり多めに計算されることに注意してください。
これは、解放されたブロックをすぐに再利用できるように、設定された期間(900秒が一般的)は論理削除をしているためです。
再利用可能なexpiredエクステントも使用中とみなされています。
 
実運用監視では、UNDO表領域を監視対象から外し、別の手段で検知するのがベターです。
set time on
set pagesize 10000
set linesize 100
col autoextensible heading "AUTO" for a4
col tablespace_name format a25
col sizemb for 999,999
col usedmb for 999,999
col freemb for 999,999
col ratio for 999.99
select dbf.tablespace_name,
  dbf.bytes/1024/1024 as sizemb,
  (dbf.bytes - sum(nvl(fsp.bytes,0)))/1024/1024 as usedmb,
  sum(nvl(fsp.bytes,0))/1024/1024 as freemb,
  (1-(sum(nvl(fsp.bytes,0))/dbf.bytes))*100 ratio,
  dbf.autoextensible
from sys.dba_free_space fsp
  right outer join (
    select tablespace_name,sum(bytes) as bytes,autoextensible
    from sys.dba_data_files
    group by tablespace_name,autoextensible
  ) dbf
  on dbf.tablespace_name=fsp.tablespace_name
group by dbf.tablespace_name,dbf.bytes,dbf.autoextensible
order by dbf.tablespace_name,autoextensible;

実行例は次の通り。
SIZEMB・・・表領域サイズ
USEDMB・・・使用サイズ
FREEMB・・・未使用サイズ
RATIO・・・使用率
AUTO・・・自動拡張

TABLESPACE_NAME             SIZEMB   USEDMB   FREEMB   RATIO AUTO
------------------------- -------- -------- -------- ------- ----
FUKA_MASTER_DATA             2,048    1,335      713   65.19 YES
FUKA_MASTER_IDX              1,024      442      582   43.16 YES
MVLOG_MASTER_DATA              512      121      391   23.63 YES
PERFSTAT_DATA                1,024      689      335   67.29 YES
SYSAUX                       2,048      285    1,763   13.90 YES
SYSTEM                       2,048      352    1,696   17.17 YES
UNDOTBS1                    32,749       44   32,706     .13 YES

0 件のコメント:

コメントを投稿