he encontrado estas dos opciones que dan dos propuestas distintas:
select segment_name, sum(bytes)/1024/1024 MB FROM user_extents where segment_name = 'tu tabla' Group by segment_name
y
select segment_name, sum(bytes)/1024/1024 MB FROM DBA_SEGMENTS where SEGMENT_NAME = 'tu tabla' Group by segment_name
cuando sepa cual es mejor quito el otro.
Estas dos opciones suman el tamaño “virtual” de la tabla, los segmentos que ocupa la tabla incluyendo el espacio que tiene la tabla reservado para futuros inserts.
He encontrado este script en Zona Oracle que es mucho mas útil. Mira cuanto ocupan todas las tablas de tu usuario y el tamaño que tienen las tablas. Cuanto cupa realmente.
SELECT a.table_name, a.tablespace_name, ROUND(SUM (b.bytes) / 1024 / 1024, 3) megas FROM user_tables a, user_extents b WHERE a.table_name = b.segment_name AND a.tablespace_name = b.tablespace_name GROUP BY a.tablespace_name, a.table_name ORDER BY megas DESC, table_name ASC;