본문 바로가기

DB

oracle table+index size 계산


SELECT
  SEGMENT_NAME    "TABLE_NAME",
  segment_type,
  TABLESPACE_NAME "TABLESPACE",
  SUM(BYTES/1024/1024) "MEGABYTES"
FROM USER_SEGMENTS
WHERE SEGMENT_TYPE IN ( 'TABLE', 'TABLE PARTITION', 'INDEX PARTITION' )
AND SEGMENT_NAME NOT LIKE 'BIN$%'
group by SEGMENT_NAME, segment_type, TABLESPACE_NAME
order by  SUM(BYTES/1024/1024) desc, segment_name
;

SELECT TABLESPACE_NAME,
    SUM(BYTES)/1024/1024/1024 "SIZE(GB)"
FROM SYS.DBA_DATA_FILES
GROUP BY TABLESPACE_NAME;