Bonjour à tous.
En dehors d'un IPL, y'a-t-il un moyen de vider le plan cache SQL d'un i ?
Merci.
Bonjour à tous.
En dehors d'un IPL, y'a-t-il un moyen de vider le plan cache SQL d'un i ?
Merci.
Quand on installe des PTFs DB2, le plan cache est vidé.
On peut modifier sa taille, au lieu des 512 Mo par défaut on peut mettre ce que l'on veut :
Base de Données, puis clic droit sur le nom de la base.
Mémoire de plan cache, Propriétés
Mais les modifications ne seront prises en compte qu'au prochain IPL.
M'enfin question :
Pourquoi vider le cache ?????
Bonjour Patrick
C'est sur une machine de pré-production qui est vidée de l'applicatif de gestion, puis entièrement rechargée avec la production + les nouveaux développements à livrer. Donc de nouvelles tables, de nouveaux index, de nouvelles requêtes...
On pensait donc vider le cache pour repartir de "propre" à chaque fois et ne pas garder des choses qui pourraient devenir obsolètes dedans...
Quand une table possède un nouvel index, le moteur détruit systématiquement les plans d'accès existants dans le cache concernant cette table. Il en est de même quand les statistiques de colonne sont périmés (si les données de la table ont varié de +/- 15%, les statistiques de colonnes sont considérés comme périmés, les plans d'accès détruits).
Donc je ne pense que ça devrait poser aucun problème, la quasi totalité des plans d'accès vont être détruits puis reconstruits au fur et à mesure.
La seule question que je me pose reste les fonctions déterministiques. Mais généralement si elles sont déterministiques c'est que les données ne devraient pas varier d'un appel à l'autre.
Mais la solution la plus efficace reste effectivement l'IPL.
En V5R4 il existe une commande système (à tester en V6R1) :
call qqqooocach
là vous choisissez l'option clear cache plan (C de mémoire).
Il ne faut surtout pas le faire sur un as400 qui travaille !
En effet, vider le plan cache c'est aussi supprimer tous les MTI créé qui sont encore affilié à des explain dans le cache plan.
Sur une base de prod le cache plan doit être suffisamment grand pour garder une majorité, voir tous les plans sql (et pour une pré-prod je dirais la même chose si vous voulez pourvoir analyser un tant soit peu les perfs de vos application)On peut modifier sa taille, au lieu des 512 Mo par défaut on peut mettre ce que l'on veut :
La cache plan est un objet temporaire paginé, donc on peut sans problème lui mettre une valeur supérieur à la mémoire primaire.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager