Comment estimer la taille des tableaux dans un schéma (Oracle)

11

J'essaie d'estimer les tailles de table dans mon schéma (en Mo). Voici ce que j'ai jusqu'à présent:

SELECT table_name, owner, last_analyzed
FROM all_tables

Je suis assez nouveau dans SQL, donc je n'ai aucune idée de la façon dont je ferais cela.

Je vous remercie.

Diego R
la source

Réponses:

10

Regardez la vue "dba_segments" (ou user_segments si vous n'avez pas les droits dba). La requête suivante devrait vous donner ce que vous recherchez:

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
la source
Salut Benoit, cela a fonctionné parfaitement merci. J'ai jeté un coup d'œil aux champs de table que je pouvais utiliser, mais je n'ai pas pu trouver "Propriétaire" ou les derniers champs mis à jour. Au fait, j'ai utilisé la vue user_segments. Ces informations seraient-elles disponibles sous dba_segments?
Diego R
Tous les segments affichés dans user_segments appartiennent au compte que vous avez utilisé pour vous connecter, c'est pourquoi il n'y a pas de colonne propriétaire.
Benoit