Oracle表空间相关查询

1. 查表空间名字、大小、已用大小、未用大小、已用百分比、未用百分比

select tablespace_name, sum(totalM), sum(usedM), sum(remainedM),
           sum(usedM) / sum(totalM) * 100, sum(remainedM) / sum(totalM) * 100
from
(
  select b.file_id, b.tablespace_name, b.file_name,
  b.bytes / 1024 / 1024  totalM,
  ( b.bytes - sum( nvl( a.bytes, 0) ) ) / 1024 / 1024 usedM,
  sum( nvl(a.bytes,0) ) / 1024 / 1024  remainedM,
  sum( nvl(a.bytes,0) ) / (b.bytes) * 100 usedPer,
  (100-sum( (nvl(a.bytes,0) ) / (b.bytes) * 100)) remainedPer
  from dba_free_space a, dba_data_files b
  where a.file_id = b.file_id
  group by b.tablespace_name, b.file_name, b.file_id, b.bytes
  order by b.tablespace_name
)
group by tablespace_name

相关推荐