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