Oracle:表空间碎片检查

本文介绍了如何计算Oracle表空间的自由空间碎片,通过FSFI(Free Space Fragmentation Index)值来评估碎片状况。FSFI值反映了表空间的理想状态与实际碎片程度,帮助判断表空间是否需要调整。
摘要由CSDN通过智能技术生成

自由范围的碎片计算

  ---- 由于自由空间碎片是由几部分组成,如范围数量、最大范围尺寸等,我们可用FSFI--Free Space Fragmentation Index(自由空间碎片索引)值来直观体现:

  FSFI=100*SQRT(max(extent)/sum(extents))*1/SQRT(SQRT(count(extents)))

  ---- 可以看出,FSFI的最大可能值为100(一个理想的单文件表空间)。随着范围的增加,FSFI值缓慢下降,而随着最大范围尺寸的减少,FSFI值会迅速下降。


  select tablespace_name,sqrt(max(blocks)/sum(blocks))* 
  (100/sqrt(sqrt(count(blocks)))) FSFI 
  from dba_free_space 
  group by tablespace_name order by 1;

  表空间的自由空间

  ---- 通过对表空间的自由空间的观察,可用来判断分配给某个表空间的空间是太多还是不够。请看下列的语句 :


  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;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值