Vous êtes sur la page 1sur 32

Surveiller et grer la mmoire

Copyright 2006, Oracle. Tous droits rservs.

Objectifs

A la fin de ce chapitre, vous pourrez : dcrire les composantes de la mmoire SGA implmenter la gestion automatique de la mmoire partage (ASMM) configurer manuellement les paramtres de la mmoire SGA configurer la gestion automatique de la mmoire PGA

8-2

Copyright 2006, Oracle. Tous droits rservs.

Gestion de la mmoire : Prsentation


La gestion de la mmoire constitue l'un des points essentiels du travail d'un DBA, pour les raisons suivantes : La quantit de mmoire disponible est limite. L'allocation de davantage de mmoire certains types de fonctions peut amliorer les performances globales. La configuration mise en oeuvre par le rglage automatique de l'allocation de mmoire convient gnralement, mais certains environnements spcifiques ou des situations temporaires peuvent ncessiter une attention particulire.

8-3

Copyright 2006, Oracle. Tous droits rservs.

Structures mmoire Oracle

Processus serveur 1

PGA

Processus serveur 2

PGA

Processus en arrire-plan

PGA

SGA
Zone de mmoire partage Zone de mmoire Java Zone de mmoire Streams Cache de tampons de la base de donnes Zone de mmoire LARGE POOL Cache de tampons de conservation Cache de tampons de recyclage

Tampon de journalisation

Caches de tampons de blocs de taille n K

8-4

Copyright 2006, Oracle. Tous droits rservs.

Cache de tampons
SGA
Processus serveur File d'attente Listes des points de reprise LRU

Cache de tampons de BdD

. . . .

. . . . DB_BLOCK_SIZE DB_CACHE_SIZE DB_RECYCLE_CACHE_SIZE DBWn DB_KEEP_CACHE_SIZE

Fichiers de donnes
8-6

Copyright 2006, Oracle. Tous droits rservs.

Utiliser des pools de tampons multiples

SGA
Caches de tampons de BdD

Pool de recyclage
Pool de conservation

Pool par dfaut

8-8

Copyright 2006, Oracle. Tous droits rservs.

Utiliser des pools de tampons multiples

CREATE INDEX cust_idx STORAGE (BUFFER_POOL KEEP ); ALTER TABLE oe.customers STORAGE (BUFFER_POOL RECYCLE);

ALTER INDEX oe.cust_lname_ix STORAGE (BUFFER_POOL KEEP);

8-9

Copyright 2006, Oracle. Tous droits rservs.

Zone de mmoire partage


La taille est indique l'aide du paramtre SHARED_POOL_SIZE. Le cache "library" contient des instructions, du code analys et des plans d'excution. Le cache du dictionnaire de donnes contient la dfinition des tables du dictionnaire de donnes, de leurs colonnes et des privilges associs. La mmoire UGA contient les informations de session si Oracle Shared Server est utilis.
Zone de mmoire partage

Zone de mmoire partage Cache "library"

Cache du dictionnaire de donnes


UGA
8-10

Copyright 2006, Oracle. Tous droits rservs.

Zone de mmoire LARGE POOL


Peut tre configure en tant que zone de mmoire distincte dans la mmoire SGA Est dimensionne par le paramtre LARGE_POOL_SIZE Est utilise pour le stockage de donnes en mmoire pour :
la mmoire UGA les oprations de sauvegarde et de restauration les donnes de session pour les serveurs partags les interrogations en parallle
Zone de mmoire partage Tampon de journalisation Cache de tampons de la base de donnes Cache "library" Zone de mmoire LARGE POOL

UGA

Sauvegarde

Cache du dictionnaire de donnes

Session Parallle

8-11

Copyright 2006, Oracle. Tous droits rservs.

Zone de mmoire Java


Peut tre configure en tant que zone de mmoire distincte dans la mmoire SGA Est dimensionne par le paramtre JAVA_POOL_SIZE Est utilise pour stocker des donnes en mmoire pour tout le code Java propre la session, ainsi que des donnes dans la JVM
Cache de tampons de la base de donnes
Zone de mmoire partage Cache "library" Zone de mmoire LARGE POOL

Tampon de journalisation

Cache du dictionnaire de donnes

Zone de mmoire Java

8-12

Copyright 2006, Oracle. Tous droits rservs.

Tampon de journalisation
Tampon de journalisation Cache de tampons de la base de donnes Zone de mmoire partage Cache "library"

Cache du dictionnaire de donnes

Processus serveur
Fichiers de contrle

LGWR

ARCn

SQL> UPDATE employees 2 3 SET salary=salary*1.1 WHERE employee_id=736;


Fichiers de donnes
Fichiers de journalisation Fichiers de archivs journalisation

8-13

Copyright 2006, Oracle. Tous droits rservs.

Gestion automatique de la mmoire partage : Prsentation


Permet l'adaptation automatique aux changements de charge globale Optimise l'utilisation de la mmoire Contribue viter les erreurs de mmoire insuffisante

Exemple :

Cache de tampons
Zone de mmoire LARGE POOL Zone de mmoire partage Zone de mmoire Java Zone de mmoire Streams Utilisateurs en ligne

Cache de tampons Zone de mmoire LARGE POOL Zone de mmoire partage

Zone de mmoire Java


Zone de mmoire Streams Traitements batch

8-14

Copyright 2006, Oracle. Tous droits rservs.

Avantages de la gestion automatique de la mmoire partage


DB_CACHE_SIZE SHARED_POOL_SIZE LARGE_POOL_SIZE JAVA_POOL_SIZE STREAMS_POOL_SIZE

Taille totale de la mmoire SGA

SGA_TARGET

8-15

Copyright 2006, Oracle. Tous droits rservs.

Fonctionnement de la gestion automatique de la mmoire partage


La gestion automatique de la mmoire partage est base sur des informations relatives la charge globale que MMAN capture en arrire-plan. MMAN utilise des conseils sur la mmoire. La mmoire est dplace l o le systme en a le plus besoin. Si un fichier SPFILE est utilis (ce qui est recommand) :
La taille des composants est enregistre lors des arrts. Les valeurs enregistres sont utilises pour initialiser (bootstrap) la taille des composants. Il n'est pas ncessaire de redterminer les valeurs optimales.

8-16

Copyright 2006, Oracle. Tous droits rservs.

Configurer la fonction ASMM l'aide de Database Control

8-17

Copyright 2006, Oracle. Tous droits rservs.

Configurer manuellement la fonction ASMM

Pour limiter la taille de certains composants de la mmoire, vous devez configurer manuellement la taille de ces composants : lorsque les tailles calcules automatiquement ne sont pas adaptes votre situation pour une raison donne lorsque la mmoire requise prsente des pics ou des creux sur une brve priode qui ne sont pas dtects par la fonction ASMM si vous souhaitez simplement garantir une quantit minimum de mmoire pour un composant spcifique
8-18

Copyright 2006, Oracle. Tous droits rservs.

Configurer manuellement la fonction ASMM


Rglage automatique Zone de mmoire partage Zone de mmoire Java Rglage automatique Cache de tampons de la base de donnes Mmoire SGA fixe Tampon de journalisation Zone de mmoire LARGE POOL Rglage automatique Zone de mmoire Streams Pool de tampons de conservation

Rglage automatique

Rglage automatique
Taille totale de la mmoire SGA = 8 Go

SGA_TARGET = 8G STATISTICS_LEVEL = TYPICAL


8-19

Copyright 2006, Oracle. Tous droits rservs.

Comportement des paramtres SGA rglage automatique


Lorsque le paramtre SGA_TARGET n'est pas dfini ou lorsque la valeur zro lui est affecte :
Les paramtres rglage automatique se comportent normalement. Il peut s'avrer ncessaire d'augmenter la valeur du paramtre SHARED_POOL_SIZE par rapport aux valeurs utilises avec les versions antrieures de la base de donnes.

SELECT SUM(bytes)/1024/1024 size_mb FROM v$sgastat WHERE pool = 'shared pool';

Lorsqu'une valeur diffrente de zro est affecte au paramtre SGA_TARGET :


La valeur par dfaut des paramtres rglage automatique est zro. La valeur indique est utilise comme taille minimale.

SELECT component, current_size/1024/1024 size_mb FROM v$sga_dynamic_components;

8-21

Copyright 2006, Oracle. Tous droits rservs.

Comportement des paramtres SGA rglage manuel


Certains composants ne sont pas rgls automatiquement.
Caches de tampons KEEP et RECYCLE Caches plusieurs tailles de bloc Tampon de journalisation

Ces composants doivent tre configurs manuellement via les paramtres de base de donnes. La mmoire utilise par ces composants rduit la quantit de mmoire disponible pour le rglage automatique de la mmoire SGA.

8-22

Copyright 2006, Oracle. Tous droits rservs.

Utiliser la vue V$PARAMETER

SGA_TARGET = 8G
DB_CACHE_SIZE = 0 JAVA_POOL_SIZE = 0 LARGE_POOL_SIZE = 0 SHARED_POOL_SIZE = 0 STREAMS_POOL_SIZE = 0 SELECT name, value, isdefault FROM v$parameter WHERE name LIKE '%size';

8-23

Copyright 2006, Oracle. Tous droits rservs.

Modifier le paramtre SGA_TARGET

Le paramtre d'initialisation SGA_TARGET :


est dynamique peut tre augment jusqu' SGA_MAX_SIZE peut tre rduit jusqu' ce que tous les composants atteignent leur taille minimale

Une modification de la valeur de SGA_TARGET affecte uniquement les composants dimensionnement automatique.

8-24

Copyright 2006, Oracle. Tous droits rservs.

Dsactiver la fonction ASMM


Le fait d'affecter la valeur zro SGA_TARGET dsactive le rglage automatique. Les paramtres rglage automatique sont dfinis leur taille actuelle. La taille globale de la mmoire SGA n'est pas affecte.
Taille SGA = 8 Go Taille SGA = 8 Go Paramtres : sga_target = 0 db_cache_size = 5G shared_pool_size = 2G large_pool_size = 512M java_pool_size = 256M streams_pool_size = 256M

Paramtres : sga_target = 8G shared_pool_size = 1G Valeurs d'origine

8-25

Copyright 2006, Oracle. Tous droits rservs.

Redimensionner manuellement les paramtres SGA dynamiques


Pour les paramtres rglage automatique, le redimensionnement manuel :
entrane le redimensionnement immdiat des composants si la nouvelle valeur est suprieure la taille actuelle entrane la modification de la taille minimum si la nouvelle valeur est infrieure la taille actuelle

Le redimensionnement de paramtres rgls manuellement affecte uniquement la portion rglable de la mmoire SGA.

8-26

Copyright 2006, Oracle. Tous droits rservs.

Mmoire PGA
Mmoire PGA
Processus serveur PGA
Zones de mmoire SQL prives Zone des Mmoire curseurs et alloue par zone de session partage des ordres SQL Zone de travail

Connexions ddies

Serveur partag

PGA

Connexions serveur partag

Zone de mmoire partage ou zone de mmoire LARGE POOL

PGA

8-27

Copyright 2006, Oracle. Tous droits rservs.

Gestion automatique de la mmoire PGA

Elle ajuste dynamiquement la quantit de mmoire PGA ddie aux zones de travail, en fonction du paramtre PGA_AGGREGATE_TARGET. Elle contribue l'optimisation des performances de toutes les oprations SQL utilisant beaucoup de mmoire. Elle est active par dfaut.

8-29

Copyright 2006, Oracle. Tous droits rservs.

Ressources de gestion de la mmoire PGA


Statistiques pour grer le paramtre d'initialisation PGA_AGGREGATE_TARGET, telles que PGA cache hit percentage Vues pour la surveillance de la zone de travail PGA :
v$sql_workarea_histogram v$pgastat v$sql_workarea_active v$sql_workarea v$tempseg_usage

Vues pour assister le dimensionnement de la zone de travail PGA :


v$pga_target_advice v$pga_target_advice_histogram

8-30

Copyright 2006, Oracle. Tous droits rservs.

Utiliser la fonction de conseil Memory Advisor pour dimensionner la mmoire SGA

8-31

Copyright 2006, Oracle. Tous droits rservs.

Utiliser la fonction de conseil Memory Advisor pour dimensionner la mmoire PGA

8-32

Copyright 2006, Oracle. Tous droits rservs.

Utilisation efficace de la mmoire : Recommandations


Essayez de faire tenir la mmoire SGA dans la mmoire physique. Effectuez un rglage de faon obtenir un taux lev de succs en mmoire cache de tampons, en tenant compte des points suivants :
Mme les balayages complets de table valides et ncessaires font baisser le taux. Il est possible que des lectures rptes inutiles des mmes blocs fassent monter artificiellement le taux.

Utilisez la fonction de conseil Memory Advisor.

8-33

Copyright 2006, Oracle. Tous droits rservs.

Recommandations relatives au rglage de la mmoire pour le cache "library"


Etablissez des conventions de formatage pour les dveloppeurs afin que les instructions SQL correspondent dans le cache. Utilisez des variables attaches. Eliminez les instructions SQL dupliques inutiles. Pensez utiliser le paramtre CURSOR_SHARING. Utilisez le package PL/SQL lorsque cela est possible. Mettez en mmoire cache les numros de squence. Effectuez une opration pin sur les objets dans le cache "library".
Copyright 2006, Oracle. Tous droits rservs.

8-35

Synthse

Ce chapitre vous a permis d'apprendre : dcrire les composantes de la mmoire SGA implmenter la gestion automatique de la mmoire partage (ASMM) configurer manuellement les paramtres de la mmoire SGA utiliser la gestion automatique de la mmoire PGA

8-37

Copyright 2006, Oracle. Tous droits rservs.

Prsentation de l'exercice : Utiliser la fonction ASMM pour corriger un problme d'allocation mmoire
Cet exercice porte sur les points suivants : diagnostiquer un problme d'allocation mmoire activer la gestion automatique de la mmoire partage

8-38

Copyright 2006, Oracle. Tous droits rservs.

Vous aimerez peut-être aussi