ORA-04036: PGA memory used by the instance exceeds PGA_AGGREGATE_LIMIT

19 fév

Cher(è)s ami(e)  en oracle   j’ai eu cette d’incident sur une base  oracle 12cr1 de production

Explication :

Avant Oracle 12c, PGA_AGGREGATE_TARGET est le paramètre le plus utile pour contrôler la mémoire PGA allouée aux zones de travail. Cependant, PGA_AGGREGATE_TARGET est une cible souple et non une limite stricte. L’utilisation PGA réelle peut atteindre trois fois la valeur de PGA_AGGREGATE_TARGET. L’utilisation excessive de PGA peut entraîner des problèmes d’échange de mémoire et avoir un impact sur les performances. PGA_AGGREGATE_LIMIT est un nouveau paramètre introduit en 12c. Il a mis une limite stricte au lieu d’une limite douce sur l’utilisation de la mémoire PGA. C’est comme si nous avions besoin de mettre une limite à la hauteur du gratte-ciel et que certaines d’entre elles sont trop hautes. Si cette limite est atteinte ou dépassée, Oracle met fin aux sessions qui consomment la mémoire PGA la plus indétectable. Par défaut, Oracle utilise les trois méthodes suivantes pour trouver la plus grande des trois valeurs et l’utiliser comme limite. 1. 2 Go par défaut 2. Deux fois le paramètre PGA_AGGREGATE_TARGET 3. La valeur du paramètre PROCESS * 3MB. Le PROCESSUS est 300, donc la valeur est 3MB x 300 = 900 MB.

 

Solution  :

1) Une façon est de revenir au comportement précédent (pré-12c). 
Pour ce faire, 
mettez la valeur de pga_aggregate_limit à 0 et 
le paramètre n'aura aucun impact.

 alter system set pga_aggregate_limit=0 scope=both;

Si une valeur de 0 est spécifiée, cela signifie qu'il n'y a pas de limite 
à la mémoire PGA agrégée consommée par l'instance. 
Je crois que cette déclaration ne signifie pas que 
nous pourrions utiliser la mémoire illimitée en PGA,
 mais considérons simplement que PGA_AGGREGATE_LIMIT n'existe plus .

2)

Pour un serveur avec : – 32 Go de  mémoire – 13 Go pour la SGA   on pourrait mettre jusqu’à 25 Go pour la PGA : 120% de la mémoire du serveur (=38 Go) – SGA (=13 Go) = 25 Go

 alter system set pga_aggregate_limit=15G scope=both;
 

OraclementVotre

Pas encore de commentaire

Laisser une réponse

Unblog.fr | Créer un blog | Annuaire | Signaler un abus