Oracle--表空间

开发者博客www.developsearch.com

 

在Oracle数据库中,DBA可以通过观测一定的表或视图来了解当前空间的使用状况,进而作出可能的调整决定。

 

表空间的自由空间:

  通过对表空间的自由空间的观察,可用来判断分配给某个表空间的空间是太多还是不够。

        请看下列的语句

        

select a.file_id "FileNo",
       a.tablespace_name "Tablespace_name",
       a.bytes "Bytes",
       a.bytes - sum(nvl(b.bytes, 0)) "Used",
       sum(nvl(b.bytes, 0)) "Free",
       sum(nvl(b.bytes, 0)) / a.bytes * 100 "%free"
  from dba_data_files a, dba_free_space b
 where a.file_id = b.file_id(+)
 group by a.tablespace_name, a.file_id, a.bytes
 order by a.tablespace_name

 

查询结果如下:

 

%free : 未被使用的空间

 

  关于自由空间的管理,有下面的一些建议:

  利用Export及Import命令卸出和装入表空间可以释放大量的空间,从而缓解增加另外的数据文件的要求。

  如果包含具有高插入(insert)和更新(update)活动的表的表空间中自由空间的比重下降到了15%以下,要为此表空间增加更多的空间。

  对于一个基本是静态表数据的表空间,如果有多于20%的自由空间,则可以考虑减少分配给它的文件空间量。

  减少SYSTEM表空间的空间量比较困难,因为那要重建数据库。

 

开发者博客www.developsearch.com

猜你喜欢

转载自keepwork.iteye.com/blog/1949468