!
!
!
!
!
!
!
!

DB_BLOCK_LRU_LATCHES
Le Mon, 17 Nov 2003 15:54:05 +0100, vous avez écrit :
>Quelqu'un pourrait me dire à quoi sert exactement ce paramètre ?
Tout d'abord:
http://www.tafora.fr/wp/latch.doc.html
===
Les blocs libres, en cours d'utilisation ou bien ceux qui n'ont pas encore été déplacés vers la dirty list y sont présents. La liste LRU peut être en fait constituée de plusieurs listes LRU, en fonction du nombre de latch associées au buffer respectif. Cette organisation a été trouvée à partir de Oracle 7.3, pour tirer profit des architectures physiques multiprocesseur et de l'emploi de parallel processing (parallel query). Si plusieurs latch sont implémentés pour le couple LRU/DIRTY LIST, celui-ci est divisée en plusieurs listes LRU/DIRTY LIST, chacun protégée par son latch. Le paramètre DB_BLOCK_LRU_LATCHES, renseigné dans INIT.ORA définit le nombre de latch pour le cache. Ce paramètre est limité en fonction de la version d'Oracle employé, en 7.3 à 2*CPU, en 8.0 à 2*CPU, en 8i à 12*CPU. Dans tous les cas de figure, un nombre d'au moins 50 buffers doit être protégé par un latch. Les sous listes MRU/DIRTY LIST sont constituées d'une manière circulaire, assurant pratiquement le même nombre de blocs par liste. Si un process ne trouve pas de bloc disponible dans la sous liste, il cherchera dans les suivantes. La sous liste initiale est obtenue d'un manière aléatoire par le process qui en a besoin. La géographie des blocs dans les listes est illustrée par la requête
select set_id, set_msize from x$kcbwds ; -- en 8.03
select set_id, cnum_set, START_BUF#, END_BUF# from x$kcbwds ; -- en 8.1.6.
    SET_ID   CNUM_SET START_BUF#   END_BUF#
---------- ---------- ---------- ----------
         1       1000          0        999
Dans l'exemple cité, mille buffers sont gérés par un seul latch, dans une seule liste.
===

Copyright © 1998-2002 Radu Caulea, TAFORA MAJ 06/11/2006 !
Commentaires et suggestions radu[CHEZ]tafora.fr