1.11.2012

Oracle: How to find out the usage of tablespaces

Oracle: 表領域使用率の取得

dba_data_files と dba_free_space を結合して、表領域全体のサイズと空き容量(いずれもMB単位)を得る
SQLスクリプトの例。

出力は表領域名、全体の容量、空き容量の3項目。
ヘッダーは敢えて表示しない。

   1: set linesize     1000
   2: set pagesize     0
   3: set heading      off
   4: set feedback     off
   5: set serveroutput on
   6:  
   7: SELECT a,
   8:        to_char(nvl(x / 1024 / 1024, 0), '999999990.00'),
   9:        to_char(nvl(y / 1024 / 1024, 0), '999999990.00')
  10: FROM   ( SELECT tablespace_name a, sum(bytes) x FROM dba_data_files
  11:          GROUP BY tablespace_name ),
  12:        ( SELECT tablespace_name b, sum(bytes) y FROM dba_free_space
  13:          GROUP BY tablespace_name )
  14: WHERE  a = b(+)
  15: ORDER  BY a;
  16:  
  17: exit

0 件のコメント:

コメントを投稿