查看oracle数据库的大小和空间使用情况

时间:2021-12-22 07:03:51

查看oracle数据库的大小和空间使用情况

(2012-06-19 14:44:30)

标签:

杂谈

分类: oracle
1、查看表空间的使用状况
SELECT upper(f.tablespace_name) 表空间名,
       d.Tot_grootte_Mb "表空间大小(M) ",
       d.Tot_grootte_Mb - f.total_bytes "已使用空间(M) ",
       round((d.Tot_grootte_Mb - f.total_bytes) / d.Tot_grootte_Mb * 100, 2) "使用比 ",
       f.total_bytes "空闲空间(M) ",
       f.max_bytes "最大块(M) "
  FROM (SELECT tablespace_name,
               round(SUM(bytes) / (1024 * 1024), 2) total_bytes,
               round(MAX(bytes) / (1024 * 1024), 2) max_bytes
          FROM sys.dba_free_space
         GROUP BY tablespace_name) f,
       (SELECT dd.tablespace_name,
               round(SUM(dd.bytes) / (1024 * 1024), 2) Tot_grootte_Mb
          FROM sys.dba_data_files dd
         GROUP BY dd.tablespace_name) d
 WHERE d.tablespace_name = f.tablespace_name
 ORDER BY 4 DESC
 
2、查看无法扩展的段 
SELECT segment_name,
       segment_type,
       owner,
       a.tablespace_name "tablespacename ",
       initial_extent / 1024 "inital_extent(K) ",
       next_extent / 1024 "next_extent(K) ",
       pct_increase,
       b.bytes / 1024 "tablespace max free space(K) ",
       b.sum_bytes / 1024 "total   free   space(K) "
  FROM dba_segments a,
       (SELECT tablespace_name, MAX(bytes) bytes, SUM(bytes) sum_bytes
          FROM dba_free_space
         GROUP BY tablespace_name) b
 WHERE a.tablespace_name = b.tablespace_name
   AND next_extent > b.bytes
 ORDER BY 4, 3, 1