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 :

Des tables sans tablespace,


Sujet :

Administration Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2002
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 112
    Par défaut Des tables sans tablespace,
    Bonjour,

    Considérons la requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT TABLE_NAME 
    FROM DBA_TABLES 
    WHERE TABLESPACE_NAME IS NULL;
    à ma grande surprise il m'affiche


    franchement, je m'attendais à ce qu'il m'affiche zéro lignes,

    je croyais que les tables étaitent toutes stockées sur des tablespaces,

    SVP!
    C'est quoi cette histoire des 122 tables stockées nulle part ?

    Merci.

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Ça peut être, de façon non-exhaustive :
    • des tables partitionnées : les partitions sont bien sur un tablespace
    • des tables organisées en index : les données sont dans le tablespace de l'index
    • des nested tables : les parties nested sont bien sur un tablespace
    • des tables externes : les données sont sur le système d'exploitation

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2002
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 112
    Par défaut
    Merci Waldar pour la réponse

    pour ce qui est de la liste que tu viens de citer, je suis déjà allée fouiner du coté de la vue DBA_SEGMENTS
    , en fait, ta liste est bien présentes est décrite par cette vue,
    suffit de faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    select distinct segment_type
    from dba_segments

    pour avoir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    CACHE  
    CLUSTER  
    INDEX  
    INDEX PARTITION  
    LOBINDEX  
    LOBSEGMENT  
    NESTED TABLE  
    ROLLBACK  
    TABLE  
    TABLE PARTITION  
    TYPE2 UNDO
    c'est à dire que les fameuses 122 tables ne correspondent à aucun SEMGENT, ce qui attise donc, davantage mon intirigue !

  4. #4
    Expert confirmé
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 822
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Une table, c'est un objet logique.
    Elle peut correspondre directement à un objet physique (segment) dans un cas particulier (mais le plus courant bien sûr): une table non partitionnée, pas en cluster, pas en IOT, pas externe, etc.

    Si tu vas voir dans DBA_OBJECTS, tu verra tout: ceux qui ont un DATA_OBJECT_ID sont des objets physique, les autres sont des objets logiques, dont les données sont stockées par un autre objet (par une partition, par un index, par un cluster, etc.)

    Cordialement,
    Franck.

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2002
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 112
    Par défaut
    Merci pachot.

    Ta réponse est trés claire, mais comme d'habitude, je me livre toujours à des sortes de vérifications, bien entendu, pas pour chercher à réfuter ce qu'on m'avance, mais plutot pour être bien fixée et mieux éclairée, hélas parfois je me fais piégée par ces interminables vérifications,

    alors
    tu as dis (Pachot):

    Si tu vas voir dans DBA_OBJECTS, tu verra tout: ceux qui ont un DATA_OBJECT_ID sont des objets physique, les autres sont des objets logiques, dont les données sont stockées par un autre objet (par une partition, par un index, par un cluster, etc.)
    Effectivement je suis allée voir cela , et si j'ai bien compris ton commentaire, les deux requetes ci dessous, devraient donner le même résultat

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    select count(*) from dba_objects
    where data_object_id is not null
    and object_type='TABLE';
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select count(*) from dba_segments where segment_type ='TABLE';
    Or, c'est pas le cas pour moi,
    la première me donne : 745
    la seconde : 706

    C'est à dire que, il y a bien des objets qui ont un DATA_OBJECT_ID mais qui ne correspondent à aucune entité physique, en l'occurrence, SEGMENT.
    dans mon cas : (745-706= 39 objets)

    Alors, où est la faille ?

    Merci.

  6. #6
    Expert confirmé
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 822
    Billets dans le blog
    1
    Par défaut
    je me livre toujours à des sortes de vérifications
    C'est très bien

    Il serait interresant de voir quelles sont ces tables qui ont un data_object_id.
    une requête 'not in' par exemple

    Je parie que tu es en 11gR2, où une table qui n'a pas encore de donnée peut ne pas encrore créer le segment. Mais il peut y avoir d'autres raisons.

    Franck.

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

Discussions similaires

  1. [AC-2002] Modifier les noms des tables sans casser les requêtes
    Par gandalf20000000 dans le forum Modélisation
    Réponses: 5
    Dernier message: 07/04/2010, 21h30
  2. Des tables sans clés étrangères ni clés primaires
    Par tomyy dans le forum MS SQL Server
    Réponses: 12
    Dernier message: 04/09/2009, 02h50
  3. [AC-2003] Lier des tables sans ODBC
    Par stigma dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 04/06/2009, 08h08
  4. Relations entre des tables sans clef
    Par ouamtax dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 22/09/2008, 23h23
  5. [SQL-Server] Exporter des tables sans PHPmyAdmin ??
    Par seb92500 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 05/07/2006, 14h30

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