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 :

Lecture de la fragmentation de la shared pool


Sujet :

Administration Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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 Lecture de la fragmentation de la shared pool
    Bonjour,
    Les risque d'une fragmentation de la shared pool en terme de performance est une contention sur les latch. Cette fragmentation est généralement du à des requêtes "littérales" et/ou peu d'utilisation de traitements stockés, et/ou une mémoire sous dimensionnée.

    Pourriez-vous m'aider quant à la compréhension de la requete suivante :
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    select
      decode(
        sign(ksmchsiz - 812),
        -1, (ksmchsiz - 16) / 4,
        decode(
          sign(ksmchsiz - 4012),
          -1, trunc((ksmchsiz + 11924) / 64),
          decode(
            sign(ksmchsiz - 65548),
            -1, trunc(1/log(ksmchsiz - 11, 2)) + 238,
            254
          )
        )
      )  bucket,
      sum(ksmchsiz)  free_space,
      count(*)  free_chunks,
      trunc(avg(ksmchsiz))  average_size,
      max(ksmchsiz)  biggest
    from
      sys.x_$ksmsp
    where
      inst_id = userenv('Instance') and
      ksmchcls = 'free'
    group by
      decode(
        sign(ksmchsiz - 812),
        -1, (ksmchsiz - 16) / 4,
        decode(
          sign(ksmchsiz - 4012),
          -1, trunc((ksmchsiz + 11924) / 64),
          decode(
            sign(ksmchsiz - 65548),
            -1, trunc(1/log(ksmchsiz - 11, 2)) + 238,
            254
          )
        )
      )
    View sample listing
    BUCKET FREE_SPACE FREE_CHUNKS AVERAGE_SIZE BIGGEST
    ---------- ---------- ----------- ------------ ----------
    0 166344 3872 42 72
    1 32208 374 86 96
    4 928 1 928 928
    6 11784 4 2946 3328
    D'après moi :
    BUCKET --> paquet représentant la requête traitée
    free_space --> total des fragments libres (ksmchsiz)
    free_chunks --> la fragmentation ???
    average_size --> taille moyenne des fragments libres
    biggest --> plug gros fragment libre

    La requete identifiée par le bucket 0 souffre d'une grosse fragmentation...
    Qu'est que cela signifie au niveau de la shared pool ?
    D'autre part cette analyse se situe a quel niveau dans le cycle d'exécution d'une requête SQl (parse - execute - fetch)

    Merci de votre aide








    http://www.ixora.com.au/scripts/pool...ool_free_lists
    src : shared_pool_free_lists.sql

  2. #2
    Membre Expert

    Homme Profil pro
    Inscrit en
    Mars 2010
    Messages
    536
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 536
    Par défaut
    Bonjour,

    Je pense que vous avez une application qui souffre d'un problème de performance. N'est-ce pas?

    Dans votre question d'hier vous envisagiez de faire une analyse des indexes pour un eventuel rebuild vous permettant d'améliorer votre performance. Aujourd'hui vous pensez aussi que la shared pool est le coupable idéal. Et demain vous allez peut-être vous mettre à la recherche de verrou pouvant empécher votre base de données de bien fonctionner.

    Je pense, comme vous avez un problème de performance dont vous n'arrivez pas à localiser l'origine, il vous faut un rapport AWR généré pendant la période où la performance n'est pas bonne.

    Avec ce rapport, vous avez matière à travailler. Commencez par cette étape et je pense que vous seriez déjà dans le bon sens.

  3. #3
    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
    Bonjour, et merci.

    Cependant, il ne s'agit pas exactement de problèmes de perf, mais d'évaluer si différents ratio sont bon.

Discussions similaires

  1. Problème de shared pool lors de l'execution de catproc.sql
    Par Kiroukool dans le forum Installation
    Réponses: 4
    Dernier message: 23/06/2008, 15h42
  2. shared pool memory
    Par yan dans le forum C
    Réponses: 2
    Dernier message: 07/02/2008, 10h38
  3. Requete dans shared pool
    Par guyrnaf dans le forum Administration
    Réponses: 1
    Dernier message: 01/11/2007, 16h19
  4. [ORA-00371] Not enough shared pool memory !!!
    Par max44410 dans le forum Installation
    Réponses: 6
    Dernier message: 30/11/2005, 19h47
  5. [Oracle 8i][Internet] Shared Pool Size
    Par dupin40 dans le forum Administration
    Réponses: 39
    Dernier message: 04/11/2004, 12h39

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