oracle 檢視錶所佔用的空間大小

suzhouclark發表於2010-12-03
檢視錶所佔用的空間大小[@more@]

1、檢視錶所佔空間

SELECT TABLESPACE_NAME,TO_CHAR(SUM(BYTES)/(1024*1024),'999G999D999') CNT_MB
FROM DBA_EXTENTS
WHERE OWNER='&OWNER' AND SEGMENT_NAME='&TABLE_NAME' AND SEGMENT_TYPE LIKE 'TABLE%'
GROUP BY TABLESPACE_NAME;


2、/*---------------------------------------------------------------------------------------*/
有兩種含義的表大小。一種是分配給一個表的物理空間數量,而不管空間是否被使用。可以這樣查詢獲得位元組數:

select segment_name, bytes
from user_segments
where segment_type = 'TABLE';
或者
Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name

另一種表實際使用的空間。這樣查詢:

analyze table emp compute statistics;
select num_rows * avg_row_len
from user_tables
where table_name = 'EMP';

檢視每個表空間的大小
Select Tablespace_Name,Sum(bytes)/1024/1024 From Dba_Segments Group By Tablespace_Name

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9697/viewspace-1042563/,如需轉載,請註明出處,否則將追究法律責任。

相關文章