Como posso estimar tamanhos de tabela no esquema (Oracle)

11

Estou tentando estimar os tamanhos da tabela dentro do meu esquema (em MB). Isto é o que eu tenho até agora:

SELECT table_name, owner, last_analyzed
FROM all_tables

Eu sou bastante novo no SQL, então não tenho idéia de como eu faria isso.

Obrigado.

Diego R
fonte

Respostas:

10

Veja a visualização "dba_segments" (ou user_segments, se você não tiver direitos dba). A consulta a seguir deve fornecer o que você está procurando:

select
  owner as "Schema"
  , segment_name as "Object Name"
  , segment_type as "Object Type"
  , round(bytes/1024/1024,2) as "Object Size (Mb)"
  , tablespace_name as "Tablespace"
from dba_segments
order by owner;
Benoit
fonte
Oi Benoit, funcionou perfeitamente obrigado. Dei uma olhada nos campos da tabela que eu poderia estar usando, mas não consegui encontrar "Proprietário" ou os últimos campos atualizados. A propósito, usei a visualização user_segments. Essas informações estariam disponíveis em dba_segments?
Diego R
Todos os segmentos mostrados em user_segments pertencem à conta em que você usou o logon, por isso não há coluna de proprietário.
Benoit