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 :

La vue V$BUFFER_POOL


Sujet :

Administration Oracle

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 154
    Points : 98
    Points
    98
    Par défaut La vue V$BUFFER_POOL
    Salut tout le monde,
    J'ai un petit problème avec la vue v$buffer_pool, quand je fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Select *from v$buffer_pool
    j'ai une seul ligne qui est récupéré, or que dans la doc oracle je trouve que le nombre minimal de granules dans la SGA est de trois...
    Et comme ma requête me récupère une seul ligne alors cela veut dire que j'ai un seul granule alloué dans mon instance ...!!

    vous avez une idée sur ça ?

    Merci
    ORACLE, A consommer sans modération

  2. #2
    Membre habitué
    Inscrit en
    Avril 2003
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Avril 2003
    Messages : 288
    Points : 165
    Points
    165
    Par défaut
    Je viens de faire ta requète et j'ai bien 3 lignes sur ma base de prod ...

    J'ai pas d'idée là dessus, désolé !

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 154
    Points : 98
    Points
    98
    Par défaut
    Moi ça me donne ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    ID  NAME       BLOCK_SIZE  RESIZE_STA  CURRENT_SIZE  BUFFERS 
    3    DEFAULT  8192             STATIC          24                     3000   
     
    TARGET_SIZE  TARGET_BUFFERS  PREV_SIZE  PREV_BUFFERS LO_BNUM  
    24                   3000                     0                0                     0  
     
    HI_BNUM  LO_SETID  HI_SETID  SET_COUNT 
    0             3               3               1
    Ce qu'il y a à remarquer c'est que l'identificateur de mon granule est égale à trois...!! ou sont les deux autres ... ? je ne sais pas :
    ORACLE, A consommer sans modération

  4. #4
    Membre régulier
    Inscrit en
    Février 2004
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 97
    Points : 110
    Points
    110
    Par défaut
    La vue V$BUFFER_POOL ne te renseigne que sur le Buffer cache de la SGA, là ou les blocs sont chargé en mémoire.
    Le Buffer cache est constitué par defaut d'une POOL appelée DEFAULT. Deux autres POOL, KEEP et RECYCLE peuvent également etre présentes si des tables leur ont ete affectées. KEEP permet par example de fixer des blocs en mémoire une fois qu'ils ont été chargés.
    Si ta vue ne montre qu'une seule ligne, c'est que seule la pool DEFAULT est présente.
    Ca n'a rien a voir avec les granules.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 154
    Points : 98
    Points
    98
    Par défaut
    Citation Envoyé par thomasjcj
    La vue V$BUFFER_POOL ne te renseigne que sur le Buffer cache de la SGA, là ou les blocs sont chargé en mémoire.
    Le Buffer cache est constitué par defaut d'une POOL appelée DEFAULT. Deux autres POOL, KEEP et RECYCLE peuvent également etre présentes si des tables leur ont ete affectées. KEEP permet par example de fixer des blocs en mémoire une fois qu'ils ont été chargés.
    Si ta vue ne montre qu'une seule ligne, c'est que seule la pool DEFAULT est présente.
    Ca n'a rien a voir avec les granules.
    Regarde ce que la doc dit :

    Mémoire SGA (suite)
    Unité d'allocation
    Le granule est une unité d'allocation de mémoire virtuelle contiguë. La taille d'un granule dépend de la taille totale estimée de la mémoire SGA, qui est calculée en fonction de la valeur du paramètre SGA_MAX_SIZE.
    • 4 Mo si la taille estimée de la mémoire SGA est inférieure à 128 Mo
    • 16 Mo dans les autres cas
    Les composants (cache de tampons de la base de données et zone de mémoire partagée) peuvent augmenter ou diminuer en fonction des limites des granules. Pour chaque composant possédant des granules, la vue V$BUFFER_POOL donne des informations sur le nombre de granules alloués, les opérations en cours sur le composant (par exemple, allocation ou libération de granules via ALTER SYSTEM, et auto-réglage correspondant) et sur la taille cible en granules. Au démarrage de l'instance, le serveur Oracle alloue des entrées de granule (une pour chaque granule) pour la prise en charge du nombre d'octets d'espace d'adressage défini par SGA_MAX_SIZE. Ensuite, chaque composant acquiert le nombre de granules dont il a besoin. La configuration SGA minimale est de trois granules*: un pour la mémoire SGA fixe (tampons de journalisation inclus), un pour le cache de tampons de la base de données et un pour la zone de mémoire partagée.
    ORACLE, A consommer sans modération

  6. #6
    Membre régulier
    Inscrit en
    Février 2004
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 97
    Points : 110
    Points
    110
    Par défaut
    salut blids,

    La vue V$Buffer_pool comporte trois lignes maximum resumant chacune d'elle les caracteristiques de chaque pool presentent dans le buffer cache. Visiblement d'apres la resultat de ta requete, ton buffer cache ne comporte que la pool default, a laquelle sont alloués 3000 buffers de 8192 Bytes (=24M=parametre Current_Size).
    On ne peut deduire de cette vue aucune information quand au nombre de granule du Buffer cache et à leur taille dans la SGA.
    En effet, le granule comme le dit la doc est la plus petite unité de mémoire allouable a la SGA et dont la grosseur depend de la taille maximale de la SGA.
    Si tu veux avoir des infos sur les granules de la SGA, regarde d'abord le parametre SGA_MAX_SIZE pour en determiner la taille. En additionant les tailles actuelles des zones de la SGA, Shared Pool, Buffer Cache, large Pool...) tu auras par division avec la taille des granules la quantité de granules alloués a la SGA.


  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 154
    Points : 98
    Points
    98
    Par défaut
    Salut,
    En fait moi ce qui me pose le plus de problème c'est ce paragraphe :
    Pour chaque composant possédant des granules, la vue V$BUFFER_POOL donne des informations sur le nombre de granules alloués, les opérations en cours sur le composant (par exemple, allocation ou libération de granules via ALTER SYSTEM, et auto-réglage correspondant)
    Et initialement ils ont définit le terme composant par :
    Les composants (cache de tampons de la base de données et zone de mémoire partagée)
    Donc la vue V$buffer_pool ne donne pas uniquement des infirmations sur le buffer cache mais aussi sur la mémoire paratgé.... (pas d'informations sur les granulles ...ok).

    Et plus généralement selon la doc Oracle en ligne la vue v$buffer_pool donne des informatioons sur tout les pools de l'instances ...
    V$BUFFER_POOL
    This view displays information about all buffer pools available for the instance. The "sets" pertain to the number of LRU latch sets
    http://download-west.oracle.com/docs/cd/B10501_01/server.920/a96536/ch324.htm#1111186

    Je ne comprend pas donc pourquois tu me dit qu'elle donnent des informations uniquement sur les pools du buffer cache :
    ORACLE, A consommer sans modération

  8. #8
    Membre régulier
    Inscrit en
    Février 2004
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 97
    Points : 110
    Points
    110
    Par défaut
    On a un problème de vocabulaire je crois, et la traduction des termes en francais est parfois difficile.

    Lorsqu' Oracle parle de Buffer pool, ca se refere uniquement au buffer cache, et a rien d'autre dans la SGA.

    Pour chaque composant possédant des granules, la vue V$BUFFER_POOL donne des informations sur le nombre de granules alloués, les opérations en cours sur le composant (par exemple, allocation ou libération de granules via ALTER SYSTEM, et auto-réglage correspondant)
    J'essaie de comprendre les termes employés mais je ne sais pas d'ou vient cette doc en Francais qui est inexacte:
    composant : pool du buffer cache (defaut, keep, recycle)
    cependant, comme dit dans mon post precedant, on n'obtient pas d'information sur le nombre de granules alloués mais sur le nombre de buffer alloues.

    Avant 9i, pour fixer la taille du buffer cache on utilisait le parametre db_block_buffers en donnant un nombre de buffer a allouer. Depuis 9i, il y a le parametre db_cache_size qui donne la taille du buffer cache. Peut etre que la confusion vient de la.

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 154
    Points : 98
    Points
    98
    Par défaut
    Oui, moi aussi je pense que la traduction est un peu mal faite..!!
    Cette documentation est le cours officiel de Oracle university mais traduit en Français, je suppose que la version anglaise est bien meilleur...
    Mais c'est ce qui existe actuelement...!!

    En tout cas du moment que buffer pool fait réference uniquement au buffer cache ... alors le problème est plus au moins réglé pour moi.

    J'ai une idée claire sur la nature de l'information dévlivrée par v$buffer_pool.

    Merci thomasjcj
    ORACLE, A consommer sans modération

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

Discussions similaires

  1. Développement de plug-in -> vue graphique!
    Par yassine_23 dans le forum Eclipse Platform
    Réponses: 3
    Dernier message: 01/04/2003, 18h04
  2. question (peut-être idiote) sur les vues
    Par LadyArwen dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 26/03/2003, 10h35
  3. Créer une vue pour trier une requete UNION ?
    Par Etienne Bar dans le forum SQL
    Réponses: 3
    Dernier message: 03/01/2003, 20h22
  4. [Crystal Report] Utilisation des vues de sql serveur
    Par Olivierakadev dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 15/11/2002, 17h44
  5. compression de données du point de vue algorithmique
    Par GoldenEye dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 26/06/2002, 15h51

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