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.

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;

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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.