web-dev-qa-db-fra.com

Comment déterminer la taille des tables dans Oracle

J'utilise Oracle 11 et je souhaite connaître la taille de mes tables (comme en mégaoctets). Que devrais-je faire? Dois-je vérifier la taille du fichier sur le serveur? Ou y a-t-il une requête à exécuter?

15
Bers

Voici une requête que vous pouvez exécuter dans SQL Developer (ou SQL * Plus):

SELECT DS.TABLESPACE_NAME, SEGMENT_NAME, ROUND(SUM(DS.BYTES) / (1024 * 1024)) AS MB
  FROM DBA_SEGMENTS DS
  WHERE SEGMENT_NAME IN (SELECT TABLE_NAME FROM DBA_TABLES)
 GROUP BY DS.TABLESPACE_NAME,
       SEGMENT_NAME;
23
user4261009

Si vous ne disposez pas des droits DBA, vous pouvez utiliser la table user_segments:

select bytes/1024/1024 MB from user_segments where segment_name='Table_name'
37
user2798256