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 :

Questions sur les segments


Sujet :

Administration Oracle

  1. #1
    Membre régulier

    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2012
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Août 2012
    Messages : 70
    Points : 120
    Points
    120
    Par défaut Questions sur les segments
    Bonjour
    je suis en train d'étudier l'architecture d'Oracle, et parmi les artciles qui m'ont aide, cet article
    http://monishsb.wordpress.com/2008/0...-architecture/
    cependant il y a un point que je n'ai pas bien compris
    Segment

    A Tablespace is further broken into segments. A segment is used to stores same type of objects. That is, every table in the database will store into a specific segment (named Data Segment) and every index in the database will also store in its own segment (named Index Segment). The other segment types are Temporary Segment and Rollback Segment.
    A segment is a container for objects (such as tables, views, packages . . . indexes). A segment consists of Extends.
    premièrment, est-ce que tous les ségments sont tous de la même taille ?
    deuxièment, est-ce un sègment des données par exemple, doit appartenir à un et un seule table ?
    merci d'avance.

  2. #2
    Membre actif
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2009
    Messages
    447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2009
    Messages : 447
    Points : 241
    Points
    241
    Par défaut
    selon mes humbles connaissances , les bases de données sont composées de tablespace, et chaque tablespace est constitué de plusieurs segment .
    et le segment lui même est composé d''extents. et les tailles d'extents sont différent selon les block de données.

  3. #3
    Expert éminent
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

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

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 821
    Points : 6 443
    Points
    6 443
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Le segment c'est l'objet physique pour stocker les données. Il est composé de plusieurs extents (qui eux sont contigus). Il peut être accédé à partir de l'information physique no de fichier + no de bloc. Pour une table, c'est le rowid. Ou il peut être lu du début jusqu'à la fin (comme un full tablescan).
    Chaque segment a un header qui liste les extents alloués, et indique jusqu'où les blocs ont été formatés (High Water Mark) donc où on peut trouver des données.

    Une table simple non partitionnée stocke ses données dans son segment.
    Mais avec une table paritionnée, chaque partition aura son segment.
    Un segment peut aussi stocker les lignes de plusieurs tables lorsque c'est un CLUSTER.
    Les index ont aussi leur segment (ou plusieurs si l'index est partitionné).

    Il y a d'autres types de segments:

    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
    SQL> select distinct segment_type from dba_segments
    SEGMENT_TYPE     
    ------------------
    LOBINDEX           
    INDEX PARTITION    
    TABLE SUBPARTITION 
    ROLLBACK           
    TABLE PARTITION    
    NESTED TABLE       
    LOB PARTITION      
    LOBSEGMENT         
    INDEX              
    TABLE              
    TYPE2 UNDO         
    CLUSTER            
     
     12 rows selected
    Les objets de DBA_OBJECTS qui ont un DATA_OBJECT_ID ont un segment:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SQL> select distinct object_type from dba_objects where data_object_id is not null
    OBJECT_TYPE       
    -------------------
    INDEX PARTITION     
    TABLE SUBPARTITION  
    TABLE PARTITION     
    LOB PARTITION       
    LOB                 
    TABLE               
    INDEX               
    CLUSTER             
     
     8 rows selected
    Les segments ne sont pas tous de la même taille. Les extents sont alloués en fonction du besoin.
    Et un segment peut stocker les lignes de plusieurs tables dans cas du CLUSTER mais l'objet stocké est en réalité le CLUSTER et non la table.

    Cordialement,
    Franck.
    Franck Pachot - Developer Advocate Yugabyte 🚀 Base de Données distribuée, open source, compatible PostgreSQL
    🗣 twitter: @FranckPachot - 📝 blog: blog.pachot.net - 🎧 podcast en français : https://anchor.fm/franckpachot

  4. #4
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Prenez le temps de lire Oracle Concepts (12 Logical Storage Structures)

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

Discussions similaires

  1. question sur les méthodes de segmentation d'image
    Par mina_star dans le forum Traitement d'images
    Réponses: 1
    Dernier message: 20/06/2012, 00h39
  2. question sur les vertex buffer et index buffer
    Par airseb dans le forum DirectX
    Réponses: 9
    Dernier message: 25/08/2003, 02h38
  3. question sur les variables globales et les thread posix
    Par souris_sonic dans le forum POSIX
    Réponses: 5
    Dernier message: 13/06/2003, 13h59
  4. Question sur les handles et les couleurs...
    Par MrDuChnok dans le forum C++Builder
    Réponses: 7
    Dernier message: 29/10/2002, 08h45
  5. question sur les message box !
    Par krown dans le forum Langage
    Réponses: 7
    Dernier message: 02/08/2002, 16h11

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