**:
資料表的大小由段和區組成
當前使用者下的可以使用下面sql分別顯示段和區資訊:
select us.segment_name,us.bytes from user_segments us order by us.bytes desc;select * from user_extents ue order by ue.bytes desc;
如果在dba中查詢某錶空間(如config表空間)的表段和區的組成資訊,使用sql顯示:
select ds.segment_name,ds.bytes from dba_segments ds where ds.tablespace_name='config'order by ds.bytes desc;select * from dba_extents de where de.tablespace_name='config' order by de.bytes desc;
如果查詢單個表記錄:
select us.segment_name,us.bytes from user_segments us where us.segment_name='test_table'order by us.bytes desc;
檢視每個表空間的大小sql:
select tablespace_name,sum(bytes)/1024/1024 from dba_segments group by tablespace_name;
檢視整個系統的表空間大小sql:
select upper(f.tablespace_name) "表空間名",d.tot_grootte_mb "表空間大小(m)",d.tot_grootte_mb-f.total_bytes "已使用空間(m)",
to_char(round((d.tot_grootte_mb - f.total_bytes)/d.tot_grootte_mb*100,2),'990.99')||'%' "使用比",f.total_bytes "空閒空間(m)",
f.max_bytes "最大塊(m)"from (select tablespace_name,round(sum(bytes)/(1024*1024),2) total_bytes,
round(max(bytes)/(1024*1024),2) max_bytes
from sys.dba_free_space
group by tablespace_name) f,
(select dd.tablespace_name,round(sum(dd.bytes)/(1024*1024),2) tot_grootte_mb
from sys.dba_data_files dd
group by dd.tablespace_name) d
where d.tablespace_name=f.tablespace_name
order by 1;
oracle查詢表空間大小以及每個表所佔空間的大小
最近維護的專案遇到了oracle的效能的問題,需要查詢一下oracle資料庫表空間的大小以及每個表所佔空間的大小,在網上搜尋了一些查詢語句,在此記錄一下 1 查詢資料庫中所有的表空間以及表空間所佔空間的大小,直接執行語句就可以了 select tablespace name,sum bytes 10...
oracle查詢表空間大小以及每個表所佔空間的大小
1 查詢資料庫中所有的表空間以及表空間所佔空間的大小,直接執行語句就可以了 select tablespace name,sum bytes 1024 1024 from dba data files group by tablespace name 2 檢視表空間物理檔案的名稱及大小 select...
ORACLE查詢每個表占用空間大小
select select sum bytes from dba segments where owner testbar and segment type table and segment name table name from user tables 錯誤的,對於oracle而言,雙引號 要...