oracle 11g表空间使用率统计心得

oracle 11g表空间使用统计

本文研究有关oracle表空间统计的相关手段

  • 传统的oracle表空间统计
  • oracle11g新增表空间统计视图
  • x$kttets
  • v$filespace_usage
  • sys.WRH$_TABLESPACE_SPACE_USAGE
  • 保证快速及准确的查询表空间

传统的oracle表空间统计

传统的oracle表空间的统计是通过查询视图dba_data_files及dba_free_space统计出来的
例如这样:

select 
    tb1.Tablespace_name "Tablespace_name",
    decode(sign(tb2.Sizes-0.99),1,round(tb2.Sizes,2) || 'GB',round(tb2.Sizes*1024,2) || 'MB') "Size",
    decode(sign((tb2.Sizes-tb1.Free)-0.99),1,round((tb2.Sizes-tb1.Free),2) || 'GB',round((tb2.Sizes-tb1.Free)*1024,2) || 'MB') "Used",
    decode(sign(tb1.Free-0.99),1,round(tb1.Free,2) || 'GB',round(tb1.Free*1024,2) || 'MB') "Free",
    decode(sign(tb2.Max-0.99),1,round(tb2.Max,2) || 'GB',round(tb2.Max*1024,2) || 'MB') "Max",
    to_number(round(((tb2.Sizes-tb1.Free)/tb2.Sizes)*100,2)) "Usage%",
    to_number(round(((tb2.Sizes-tb1.Free)/tb2.Max)*100,2)) "Usageofmax%"    
from
   (select 
         tablespace_name,
         round(sum(bytes)/power(2, 30),2) as Free 
      from dba_free_space 
      group by tablespace_name) tb1,
   (select 
         tablespace_name,
         round(sum(user_bytes)/power(2, 30),2) as Sizes,
         round(sum(decode(autoextensible,'YES',maxbytes,'NO',bytes)/power(2, 30))) as Max
      from dba_data_files
      group by tablespace_name) tb2  
where tb1.Tablespace_name=tb2.Tablespace_name;

这个查询无论数据文件是自增长还是非自增长的,统计的都是最准确的,因为dba_free_space的数据来源自最基础的系统表,准确性毋庸置疑。
但是在实际的使用过程中,我在某些数据库查询时,这条语句执行的非常缓慢,原因是dba_free_space的行数太多了,例如这样的解释计划:

| Id  | Operation                           | Name             | Rows  | Bytes |   TempSpc| Cost (%CPU)| Time     |
……
|  26 |   VIEW                              |                  |    16 |   480 |       |  3036K(100)| 10:07:17 |

|  27 |    HASH GROUP BY                    |                  |    16 |   352 |       |  3036K(100)| 10:07:17 |

|
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值