Considerando que uma tabela pode ter índices associados e até mesmo campos
lobs, poderias fazer algo como o exemplo abaixo:

SELECT 'Tabela  : '||SUM(BYTES)/1024/1024||'('||owner||')'
FROM   dba_SEGMENTS WHERE SEGMENT_NAME = UPPER('&1')
group by owner
UNION
SELECT 'Indices : '||SUM(BYTES)/1024/1024||'('||owner||')'
FROM   dba_SEGMENTS
WHERE  SEGMENT_NAME IN (SELECT INDEX_NAME FROM ALL_INDEXES WHERE TABLE_NAME
= UPPER('&1'))
group by owner
UNION
SELECT 'LOB     : '||SUM(BYTES)/1024/1024||'('||owner||')'
FROM   dba_SEGMENTS
WHERE  SEGMENT_NAME IN (SELECT SEGMENT_NAME FROM ALL_LOBS WHERE TABLE_NAME =
UPPER('&1'))
group by owner
/

ou coisa do genero.


2009/2/2 Dalton Pereira <dal...@sd2000.com.br>

>   Consulte a view user_segments.
>
> SELECT BYTES FROM USER_SEGMENTS WHERE SEGMENT_NAME = 'TABELA_X';
>
> Atenciosamente,
>
> Dalton
>
> ________________________________
>
> De: oracle_br@yahoogrupos.com.br <oracle_br%40yahoogrupos.com.br> [mailto:
> oracle_br@yahoogrupos.com.br <oracle_br%40yahoogrupos.com.br>] Em nome de
> Samuel Santos
> Enviada em: segunda-feira, 2 de fevereiro de 2009 13:28
> Para: oracle_br
> Assunto: [oracle_br] Tamanho de uma Tabela
>
> Como obter o tamanho(KB, MB, GB, TB) ocupado por uma tabela num base de
> dados?
> Atenciosamente,
> Samuel Geraldo dos Santos
>
> Veja quais são os assuntos do momento no Yahoo! +Buscados
> http://br.maisbuscados.yahoo.com <http://br.maisbuscados.yahoo.com>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> 
>


[As partes desta mensagem que não continham texto foram removidas]

Responder a