查詢表空間使用情況

1、表空間空閒大小

select t.tablespace_name, sum(t.bytes)/1024/1024 as free

from dba_free_space t

group by t.tablespace_name


2、表空間總大小

select a.tablespace_name, sum(a.bytes)/1024/1024 as total
from dba_data_files a
group by a.tablespace_name


3、使用情況SQL如下

select t1.tablespace_name,
trunc(t2.total, 2) as total_gb,
trunc(t1.free, 2) as free_gb,
round((t2.total - t1.free) / t2.total * 100, 2) as  "使用百分比%"
 from 
(
select t.tablespace_name, sum(t.bytes)/1024/1024/1024 as free
from dba_free_space t
group by t.tablespace_name
) t1,
(
select a.tablespace_name, sum(a.bytes)/1024/1024/1024 as total
from dba_data_files a
group by a.tablespace_name
) t2
where t1.tablespace_name = t2.tablespace_name
order by "使用百分比%" desc;



4、臨時表空間使用情況

select a.tablespace_name,
  trunc(sum(a.total_gb),2) total_gb,
  trunc(sum(b.used_gb),2) used_gb,
  trunc(sum(b.used_gb) / sum(a.total_gb) * 100, 2) "used_persent %"
  from 
  (select tablespace_name, sum(bytes) / (1024*1024*1024) total_gb
 from dba_temp_files
group by tablespace_name
  ) a,
 (select t1.tablespace,
         sum(t1.blocks * t2.db_block_size) /(1024*1024*1024) used_gb
    from v$sort_usage t1,
         (select value db_block_size
            from v$parameter
           where name = 'db_block_size'
         ) t2
   group by t1.tablespace
 ) b
 where a.tablespace_name = b.tablespace(+)
 group by a.tablespace_name;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章