IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration Oracle Discussion :

Taille d'une table Oracle


Sujet :

Administration Oracle

  1. #1
    Membre averti Avatar de LBO72
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Points : 342
    Points
    342
    Par défaut Taille d'une table Oracle
    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.

  2. #2
    Membre habitué
    Inscrit en
    Janvier 2009
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 162
    Points : 181
    Points
    181
    Par défaut
    Bonjour,

    Pour avoir la taille du segment en octets correspondant à ta table :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select segment_name, segment_type, bytes from user_segments where segment_name='NOM_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 table_name, blocks, empty_blocks from user_tables where table_name='NOM_TABLE';

  3. #3
    Membre averti Avatar de LBO72
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Points : 342
    Points
    342
    Par défaut
    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 :

    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)>
    Merci.

  4. #4
    Membre habitué
    Inscrit en
    Janvier 2009
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 162
    Points : 181
    Points
    181
    Par défaut
    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').

  5. #5
    Membre averti Avatar de LBO72
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Points : 342
    Points
    342
    Par défaut
    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.

  6. #6
    Membre habitué
    Inscrit en
    Janvier 2009
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 162
    Points : 181
    Points
    181
    Par défaut
    En majuscule le nom de la table dans le where ?

  7. #7
    Membre averti Avatar de LBO72
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Points : 342
    Points
    342
    Par défaut
    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)>

  8. #8
    Membre habitué
    Inscrit en
    Janvier 2009
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 162
    Points : 181
    Points
    181
    Par défaut
    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
    Si

    A part un synonyme je ne vois pas...

  9. #9
    Membre averti Avatar de LBO72
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Points : 342
    Points
    342
    Par défaut
    Je suis l'owner du schèma, je n'ai pas besoin des synonyms.

    Merci comme même.

    LBO72.

  10. #10
    Membre habitué
    Inscrit en
    Janvier 2009
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 162
    Points : 181
    Points
    181
    Par défaut
    Que donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from user_tab_privs;

  11. #11
    Membre averti Avatar de LBO72
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Points : 342
    Points
    342
    Par défaut
    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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. connaître la taille d'une table sous oracle
    Par loukili81 dans le forum Administration
    Réponses: 2
    Dernier message: 01/06/2007, 15h24
  2. [MySQL] Taille d'une table/base
    Par Indyana dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 21/10/2005, 11h24
  3. taille d'une table + que 4 Go
    Par amika dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 12/08/2005, 18h23
  4. taille d'une table
    Par jean-jacques varvenne dans le forum Oracle
    Réponses: 11
    Dernier message: 29/12/2004, 13h17
  5. supprimer un enregistrement vide dans une table oracle
    Par shurized dans le forum Bases de données
    Réponses: 11
    Dernier message: 07/09/2004, 16h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo