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 ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 PROD)>desc T_AFFAIRE Name Null? Type ----------------------------------------------------- -------- --------------------------- CD_ORIG_AFFA CHAR(3) DT_CREA_HIST DATE DT_CREA_ODS DATE DT_FIN_VLDT_VERS DATE DT_MAJ_HIST DATE DT_MAJ_ODS DATE DT_TRAI_HEBD_VERS DATE DT_DEBU_VLDT_VERS_ANLT DATE DT_TRAI_QUOT_VERS_ANLT DATE DT_TRAI_HEBD_VERS_ANLT DATE DT_TRAI_HEBD_VERS_CREA DATE BC_VERS_ACTI CHAR(1) BC_VERS_NON_ANNU CHAR(1) PROD)>select * from user_segments where segment_name = 'T_AFFAIRE'; no rows selected PROD)>
SiJe 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
A part un synonyme je ne vois pas...
Je suis l'owner du schèma, je n'ai pas besoin des synonyms.
Merci comme même.
LBO72.
Que donne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part select * from user_tab_privs;
Salut,
J'ai trouvé la réponse grace à notre MAITRE Cheikh Yarbouti :-)
J'ai attaqué la table DBA_SEGMENTS et trouvé mon bonheur.
Merci, je clos la demande.
LBO72
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager