查询Oracle数据库系统表空间使用率之小白DBA之路

工作之余写了监控表空间使用率的sql语句和码友们分享下:

select  a.tablespace_name "Tablespace",
       100 - round((nvl(b.bytes_free, 0) / a.bytes_alloc) * 100) "Usage Pct(%)",
       round(a.bytes_alloc / 1024 / 1024/1024,1) "Size(GB)",
       round(nvl(b.bytes_free, 0) / 1024 / 1024/1024,1) "Free(GB)",
       round((a.bytes_alloc - nvl(b.bytes_free, 0)) / 1024 / 1024/1024,1) "Used(GB)",
       round((nvl(b.bytes_free, 0) / a.bytes_alloc) * 100) "Free Pct(%)",
       round(maxbytes/1048576/1024 ,1) "Max(GB)",
       round(((bytes_alloc - NVL (b.bytes_free, 0) )/ maxbytes)*100)  "Used Pct of Max(%)" ,
      c.status, c.contents
from  ( select  f.tablespace_name,
               sum(f.bytes) bytes_alloc,
               sum(decode(f.autoextensible, 'YES',f.maxbytes,'NO', f.bytes)) maxbytes
        from dba_data_files f
        group by tablespace_name) a,
            (select ts.name tablespace_name, sum(fs.blocks) * ts.blocksize bytes_free
             from   DBA_LMT_FREE_SPACE fs, sys.ts$ ts
             where  ts.ts# = fs.tablespace_id
             group by ts.name, ts.blocksize) b,
      dba_tablespaces c
where a.tablespace_name = b.tablespace_name (+)
and a.tablespace_name = c.tablespace_name
union all
select h.tablespace_name,
       100 - round((sum((h.bytes_free + h.bytes_used) - nvl(p.bytes_used, 0)) / sum(h.bytes_used + h.bytes_free)) * 100)  "Usage Pct(%)",
       round(sum(h.bytes_free + h.bytes_used) / 1048576/1024,1) "Size(GB)",
       round(sum((h.bytes_free + h.bytes_used) - nvl(p.bytes_used, 0)) / 1048576/1024,1) "Free(GB)",
       round(sum(nvl(p.bytes_used, 0))/ 1048576/1024,1) "Used(GB)",
       round((sum((h.bytes_free + h.bytes_used) - nvl(p.bytes_used, 0)) / sum(h.bytes_used + h.bytes_free)) * 100) "Free Pct(%)",
       round(sum(decode(f.autoextensible, 'YES', f.maxbytes, 'NO', f.bytes) / 1048576/1024),1) "max(GB)",
       round(sum(nvl(p.bytes_used, 0))/sum(decode(f.autoextensible, 'YES', f.maxbytes, 'NO', f.bytes) )*100)  "Used Pct of Max(%)" ,
      c.status, c.contents
from   sys.v_$TEMP_SPACE_HEADER h,
       (select tablespace_name, file_id, sum(bytes_used) bytes_used
        from gv$temp_extent_pool
        group by tablespace_name, file_id) p,
       dba_temp_files f,
      dba_tablespaces c
where  p.file_id(+) = h.file_id
and    p.tablespace_name(+) = h.tablespace_name
and    f.file_id = h.file_id
and    f.tablespace_name = h.tablespace_name
and f.tablespace_name = c.tablespace_name
group by h.tablespace_name, c.status, c.contents
ORDER BY 8 desc
 

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

打赏
文章很值,打赏犒劳作者一下
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页

打赏

I_am_worm

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值