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 :

organisation du buffer cache


Sujet :

Administration Oracle

  1. #1
    Membre éprouvé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Par défaut organisation du buffer cache
    Bonjour,

    Ai-je bien compris :

    les db block gets représentent le nombre d'accés au blocs gérés par la LRU List, alors que les consistent gets représentent le nombre d'accès aux rollback segment géré par la Dirty List ?

    Est ce que je mélange un peu tout...

  2. #2
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 461
    Par défaut
    Bonjour

    "consistent gets" et "db block gets" sont deux modes d'accès aux données présentes en SGA (on parle de lectures logiques), alors que "physical reads" qualifie des lectures qu'Oracle ne peut pas satisfaire à partir de sa mémoire, et sous-traite à l'OS, lequel ira chercher les données sur disque. (A vrai dire, la lecture n'est peut-être pas aussi physique que ça, et peut se trouver déjà dans un cache quelconque au niveau matériel ou OS).

    Lors d'un SELECT, Oracle applique automatiquement la lecture consistante, c'est à dire qu'il ramènera forcément la plus récente version validée de la ligne de données demandée. Les dernières modifications non validées effectuées par la session S1 ne sont pas visibles par les autres sessions

    Consistent gets signifie simplement que la lecture a été faite en s'assurant que le résultat est conforme au principe de consistance.
    Peut-être que pour cela on a dû faire appel au segment d'annulation pour récupérer la précédente version validée. Peut-être, à l'inverse, que la dernière version validée est tout simplement celle qui se trouve dans le tampon de données, car aucune modification non validée n'existe.
    Consistent gets est donc une caractéristique du résultat, pas du détail de l'exécution.
    A priori, tout SELECT va produire des "consistent gets".

    Pour en savoir plus, il suffit d'exécuter la requête suivante avant et après celle que l'on examine. Si "consistent changes" a augmenté, on a alors la certitude qu'on a dû faire appel au segment d'annulation pour reconstruire une image consistante des données.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    select name, value 
    from v$sesstat s, v$statname n 
    where s.statistic#=n.statistic# 
    and sid =(select max(sid) from v$mystat) 
    and name in ('consistent changes', 'consistent gets', 'db block gets', 'physical reads')
    order by 1
    db block gets signifie que la lecture a été faite sans se préoccuper de savoir si la valeur visible dans le tampon de données a bien été validée ou non. On peut se permettre cette insouciance lorsqu'on s'apprête à remplacer cette valeur, dans le cas d'un UPDATE.

  3. #3
    Expert confirmé 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
    Par défaut
    Je vous suggère de repasser en revue le chapitre sur des Database Buffer Cache dans Oracle Concepts.

  4. #4
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 461
    Par défaut
    Citation Envoyé par mnitu Voir le message
    Je vous suggère de repasser en revue le chapitre sur des Database Buffer Cache dans Oracle Concepts.
    C'est quand même triste d'avoir dû attendre la doc 11g pour trouver enfin des explications claires sur ces questions !
    Jusqu'en 10g, à part des définitions tautologiques du genre "consistent gets indique qu'on fait une lecture consistante", je n'avais jamais réussi à trouver quelque chose de concret.

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

Discussions similaires

  1. DBWn et Data Buffer Cache
    Par adetag dans le forum Administration
    Réponses: 3
    Dernier message: 27/12/2007, 12h20
  2. Mon Buffer cache hit ratio est en dent de scie !
    Par PandaConstantin01 dans le forum Administration
    Réponses: 11
    Dernier message: 20/09/2007, 10h31
  3. Relation entre objets rollback et buffer cach
    Par Mehdilis dans le forum Oracle
    Réponses: 1
    Dernier message: 04/09/2006, 08h33
  4. Data Buffer Cache Hit Ratio
    Par kameleo10 dans le forum Oracle
    Réponses: 2
    Dernier message: 14/12/2005, 18h14
  5. [Noyau] Accès aux blocks dans le buffer cache
    Par gtaoufik dans le forum Oracle
    Réponses: 12
    Dernier message: 26/08/2005, 14h17

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