Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 11 sur 11
  1. #1
    Membre confirmé Avatar de LBO72
    Profil pro
    Inscrit en
    mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : mai 2007
    Messages : 406
    Points : 278
    Points
    278

    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 actif
    Inscrit en
    janvier 2009
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : janvier 2009
    Messages : 162
    Points : 162
    Points
    162

    Par défaut

    Bonjour,

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

    Code :
    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 :
    SELECT table_name, blocks, empty_blocks FROM user_tables WHERE table_name='NOM_TABLE';

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

    Informations forums :
    Inscription : mai 2007
    Messages : 406
    Points : 278
    Points
    278

    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 :
    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 actif
    Inscrit en
    janvier 2009
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : janvier 2009
    Messages : 162
    Points : 162
    Points
    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 confirmé Avatar de LBO72
    Profil pro
    Inscrit en
    mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : mai 2007
    Messages : 406
    Points : 278
    Points
    278

    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 actif
    Inscrit en
    janvier 2009
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : janvier 2009
    Messages : 162
    Points : 162
    Points
    162

    Par défaut

    En majuscule le nom de la table dans le where ?

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

    Informations forums :
    Inscription : mai 2007
    Messages : 406
    Points : 278
    Points
    278

    Par défaut

    Code :
    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 actif
    Inscrit en
    janvier 2009
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : janvier 2009
    Messages : 162
    Points : 162
    Points
    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 confirmé Avatar de LBO72
    Profil pro
    Inscrit en
    mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : mai 2007
    Messages : 406
    Points : 278
    Points
    278

    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 actif
    Inscrit en
    janvier 2009
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : janvier 2009
    Messages : 162
    Points : 162
    Points
    162

    Par défaut

    Que donne :

    Code :
    SELECT * FROM user_tab_privs;

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

    Informations forums :
    Inscription : mai 2007
    Messages : 406
    Points : 278
    Points
    278

    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.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •