查看oracle表空间使用情况

查看oracle表空间的实用情况

查看表空间实用情况1

SELECT D.TABLESPACE_NAME                                       表空间名称,
       D.STATUS                                                表空间状态,
       TO_CHAR(NVL(A.BYTES / 1024 / 1024, 0), '99,999,990.90') 大小,
       TO_CHAR(NVL(A.BYTES - NVL(F.BYTES, 0), 0) / 1024 / 1024,'99999999.99')                                                已使用,
       TO_CHAR(NVL((A.BYTES - NVL(F.BYTES, 0)) / A.BYTES * 100, 0),'990.00') || '%' 使用百分比
FROM SYS.DBA_TABLESPACES D,
     (SELECT TABLESPACE_NAME, SUM(BYTES) BYTES
      FROM DBA_DATA_FILES
      GROUP BY TABLESPACE_NAME) A,
     (SELECT TABLESPACE_NAME, SUM(BYTES) BYTES
      FROM DBA_FREE_SPACE
      GROUP BY TABLESPACE_NAME) F
WHERE D.TABLESPACE_NAME = A.TABLESPACE_NAME(+)
  AND D.TABLESPACE_NAME = F.TABLESPACE_NAME(+)
  AND NOT (D.EXTENT_MANAGEMENT LIKE 'LOCAL' AND D.CONTENTS LIKE 'TEMPORARY')
UNION ALL
SELECT D.TABLESPACE_NAME                                         表空间名称,
       D.STATUS                                                  表空间状态,
       TO_CHAR(NVL(A.BYTES / 1024 / 1024, 0), '99,999,990.90')   大小,
       TO_CHAR(NVL(T.BYTES, 0) / 1024 / 1024, '99999999.99')     已使用,
       TO_CHAR(NVL(T.BYTES / A.BYTES * 100, 0), '990.00') || '%' 使用百分比
FROM SYS.DBA_TABLESPACES D,
     (SELECT TABLESPACE_NAME, SUM(BYTES) BYTES
      FROM DBA_TEMP_FILES
      GROUP BY TABLESPACE_NAME) A,
     (SELECT TABLESPACE_NAME, SUM(BYTES_CACHED) BYTES
      FROM V$TEMP_EXTENT_POOL
      GROUP BY TABLESPACE_NAME) T
WHERE D.TABLESPACE_NAME = A.TABLESPACE_NAME(+)
  AND D.TABLESPACE_NAME = T.TABLESPACE_NAME(+)
  AND D.EXTENT_MANAGEMENT LIKE 'LOCAL'
  AND D.CONTENTS LIKE 'TEMPORARY';

查看表空间实用情况2

select dbf.tablespace_name                                     表空间名称,
       dbf.totalspace                                          总量,
       dbf.totalblocks as                                      总块数,
       dfs.freespace                                           剩余总量,
       dfs.freeblocks                                          剩余块数,
       round((dfs.freespace / dbf.totalspace) * 100, 2) || '%' 空闲比例
from (select t.tablespace_name,
             sum(t.bytes) / 1024 / 1024 totalspace,
             sum(t.blocks)              totalblocks
      from dba_data_files t
      group by t.tablespace_name) dbf,
     (select tt.tablespace_name,
             sum(tt.bytes) / 1024 / 1024 freespace,
             sum(tt.blocks)              freeblocks
      from dba_free_space tt
      group by tt.tablespace_name) dfs
where trim(dbf.tablespace_name) = trim(dfs.tablespace_name);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值