1. 程式人生 > >查看錶空間和表的使用率

查看錶空間和表的使用率

1.   查看錶空間使用率

--查詢表空間的總容量

select tablespace_name,sum(bytes) /1024/1024 as MB from dba_data_files group by tablespace_name;

 

 

--查詢表空間使用率

select total.tablespace_name,
       round(total.MB, 2) as Total_MB,
       round(total.MB - free.MB, 2) as Used_MB,
       round((1 - free.MB / total.MB) * 100, 2) || '%' as Used_Pct from
       (select tablespace_name,sum(bytes) / 1024 / 1024 as MB from dba_free_space group by tablespace_name) free,
       (select tablespace_name,sum(bytes) / 1024 / 1024 as MB from dba_data_files group by tablespace_name) total
       where free.tablespace_name = total.tablespace_name order by used_pct desc;

 

--物件型別:表   分割槽表   索引   分割槽索引共四種,我們統計一下不同種類物件各多少size

 select segment_type,sum(bytes)/1024/1024 total_size from dba_segments where wner='CCARE' group by segment_type;

 

--SQL計算出某個使用者下所有物件的大小

select owner,segment_name,segment_type,partition_name,bytes from dba_segments where wner='CCARE';

 

--我們經常使用的LEO1表空間使用情況已經perfect顯示,現在我們需要統計的是LEO1表空間包含物件的大小,由於記錄數較多,只把SQL語句寫在這裡了

 

 select o.object_name,o.object_type,o.owner,s.tablespace_name,s.segment_name,s.bytes from dba_objects o,dba_segments s where s.tablespace_name='LEO1' and o.owner=s.owner and o.owner='LEO1' and o.object_type=s.segment_type;