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 éclairé Avatar de LBO72
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    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 expérimenté
    Inscrit en
    Janvier 2009
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 162
    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 éclairé Avatar de LBO72
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    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 expérimenté
    Inscrit en
    Janvier 2009
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 162
    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 éclairé Avatar de LBO72
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    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 expérimenté
    Inscrit en
    Janvier 2009
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 162
    Par défaut
    En majuscule le nom de la table dans le where ?

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    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 expérimenté
    Inscrit en
    Janvier 2009
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 162
    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 éclairé Avatar de LBO72
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    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 expérimenté
    Inscrit en
    Janvier 2009
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 162
    Par défaut
    Que donne :

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

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    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