查看表空间使用率

本文提供了一种查询Oracle数据库中各表空间使用情况的方法,包括总大小、已用空间、剩余空间及使用率等详细信息,并针对临时表空间进行了特别处理。
set linesize 160
set pagesize 999
col TABLESPACE_NAME for a18
col TBS_TOTAL_MB for 9999999
col TBS_USED_MB for 9999999
col TBS_FREE_MB for 9999999
col TBS_RATE for a11             
col EXTEND_MAX_MB for 9999999999999
col EXTEND_FREE_MB for 9999999999999
col EXTEND_RATE for a11
select a.tablespace_name,
       round(current_size / 1024 / 1024, 1) TBS_TOTAL_MB,
       round((current_size - b.free_bytes) / 1024 / 1024, 1) TBS_USED_MB,
       round(b.free_bytes / 1024 / 1024, 1) TBS_FREE_MB,
       round(((current_size - b.free_bytes) / current_size) * 100, 1) || '%' TBS_RATE,
       round(a.max_size / 1024 / 1024, 1) EXTEND_MAX_MB,
       round((a.max_size - (current_size - b.free_bytes)) / 1024 / 1024, 1) EXTEND_FREE_MB,
       round(((current_size - b.free_bytes) / a.max_size) * 100, 1) || '%' EXTEND_RATE
  from (select tablespace_name,
               sum(ddf.bytes) current_size,
               sum(case
                     when ddf.autoextensible = 'YES' THEN
                      DDF.MAXBYTES
                     ELSE
                      DDF.BYTES
                   END) max_size
          from dba_data_files ddf
         group by tablespace_name
        union
        select tablespace_name,
               sum(ddf.bytes) current_size,
               sum(case
                     when ddf.autoextensible = 'YES' THEN
                      DDF.MAXBYTES
                     ELSE
                      DDF.BYTES
                   END) max_size
          from dba_temp_files ddf
         group by tablespace_name) a,
       (select dfs.tablespace_name, sum(dfs.bytes) free_bytes
          from dba_free_space dfs
         group by dfs.tablespace_name
        union
        select tfs.tablespace_name, sum(tfs.BYTES_FREE) free_bytes
          from v$TEMP_SPACE_HEADER tfs
         group by tfs.tablespace_name) b
 where a.tablespace_name = b.tablespace_name(+);

转载于:https://www.cnblogs.com/liang545621/p/9410698.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值