查找数据文件大小和实际大小,并收缩数据文件(原创)

查找数据文件大小和实际大小,并收缩数据文件(原创)
在实际的生产过程中,实际的数据文件大小或者表空间大小和实有数据大小是不相符的,所以有时有必要进行表空间,或者数据文件进行收缩。

以下是我写的一个sql以供大家方便执行。

--查找并收缩数据文件
select m1.file_id "文件#"   ,
       m1.name "文件名",
       m1.size_mb_fact "实际文件大小(MB)", 
       m1.size_mb_data "数据占有大小(MB)", 
       round(m1.size_mb_fact*100/ m1.size_mb_data, 2) "数据和文件的比率",
       case when round(m1.size_mb_fact*100/ m1.size_mb_data, 2)>110 and m1.size_mb_fact>4 then  --大于110则进行收缩数据文件
            'alter database datafile '''||m1.name||''' resize '||to_char(round(m1.size_mb_data*1.2,0))||'M;'
            else null end "收缩数据文件命令"
  from (select file_id, m.name, m.size_mb_fact, max(block_id)*8192/1024/1024 size_mb_data
          from dba_extents a, 
               (select b.file#, b.name, b.BYTES/1024/1024 size_mb_fact from v$datafile b) m
         where a.file_id = m.file#
         group by a.file_id, m.name, m.size_mb_fact
       ) m1
   order by "数据和文件的比率" desc;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/3090/viewspace-678200/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/3090/viewspace-678200/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值