Salut les braves :-)
Je suis en Oracle 10GR2 et je désire savoir comment calculer la taille occupée par une table Oracle.
Merci d'avance pour votre aide.
LBO72.
Salut les braves :-)
Je suis en Oracle 10GR2 et je désire savoir comment calculer la taille occupée par une table Oracle.
Merci d'avance pour votre aide.
LBO72.
Bonjour,
Pour avoir la taille du segment en octets correspondant à ta table :
Mais ça ne signifie pas que la totalité des blocs soient utilisés. Pour celà tu peux avoir une estimation statistique en interrogeant user_tables :
Code : Sélectionner tout - Visualiser dans une fenêtre à part select segment_name, segment_type, bytes from user_segments where segment_name='NOM_TABLE';
Code : Sélectionner tout - Visualiser dans une fenêtre à part select table_name, blocks, empty_blocks from user_tables where table_name='NOM_TABLE';
Merci Mathias44,
Quand je fais un desc ou un select sur la table en question, je la trouve bien. Par contre quand je lance ta requête :
Merci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 PROD>SELECT segment_name, segment_type, bytes/1024/1024 FROM user_segments WHERE segment_name = 'Le_nom_de_ma_table'; no rows selected !!! PROD)>
Rebonjour,
Il s'agit peut-être d'un synonyme sur une table appartenant à un autre schéma ? Dans ce cas il faut avoir les privilèges pour interroger dba_segments, ou se connecter sous le schéma propriétaire de la table (ou tu peux essayer alter session set current_schema='PROPRIETAIRE_DE_LA_TABLE').
Je ne pense qu'il s'agit d'un problème de synonym, sinon, je ne l'aurai pas trouvée non plus en faisant un desc sur la table :
desc Ma_Table ===> OkSELECT * WHERE segment_name = 'Ma_Table' ===> KO !!!!
Je ne comprends pas.
LBO72.
En majuscule le nom de la table dans le where ?
Partager