表空间碎片检测

1402阅读 0评论2007-12-26 aqcjsy1
分类:Oracle

Description:    This script will show you your tablespace size, what percentage is used and free, and the number of fragments that happened.
Code:
col tablespace format a11
set linesize 119
select a.TABLESPACE tablespace,
       a.SIZE_IN_MB,
       b.FREE_IN_MB,
       b.MAX_IN_MB,
       rpad(ROUND((b.FREE_IN_MB / a.SIZE_IN_MB) * 100, 2), 5) FREE_PCT,
       b.FRAG# FRAGS#
  from dual,
       (select tablespace_name TABLESPACE,
               rpad(round(sum(bytes) / 1024 / 1024, 2), 5) SIZE_IN_MB
          from dba_data_files
         group by tablespace_name) a,
       (select tablespace_name TABLESPACE,
               rpad(round(SUM(BYTES) / 1024 / 1024, 2), 5) FREE_IN_MB,
               rpad(round(MAX(BYTES) / 1024 / 1024, 2), 5) MAX_IN_MB,
               count(1) FRAG#
          from dba_free_space
         group by tablespace_name) b
 WHERE a.tablespace = b.tablespace(+)
上一篇:ORA-1652: unable to extend temp segment诊断以及解决
下一篇:查看所有的unusable索引