如何查看数据库的大小,和空间使用情况(oracle)

一、

数据库的大小其实就是所有数据文件、联机日志文件及控制文件大小的和。  
  可以简单的的使用  
  select   sum(bytes)   from   dba_data_file;  
   
  下而把几个较实用脚本贴上,是我常用的.  
   
  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   "tablespace   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      

 

二、最简单的方发,看windows上安装的ORACLE   CLIENT里的叫STORAGE   MANAGER的工具

你可能感兴趣的:(如何查看数据库的大小,和空间使用情况(oracle))