IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AS/400 Discussion :

[V6R1] - Vidage du plan cache SQL


Sujet :

AS/400

  1. #1
    Membre actif
    Homme Profil pro
    Architecte technique & logiciel IBM i
    Inscrit en
    Septembre 2010
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte technique & logiciel IBM i
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2010
    Messages : 179
    Points : 275
    Points
    275
    Par défaut [V6R1] - Vidage du plan cache SQL
    Bonjour à tous.
    En dehors d'un IPL, y'a-t-il un moyen de vider le plan cache SQL d'un i ?
    Merci.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    821
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2008
    Messages : 821
    Points : 1 084
    Points
    1 084
    Par défaut
    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 ?????

  3. #3
    Membre actif
    Homme Profil pro
    Architecte technique & logiciel IBM i
    Inscrit en
    Septembre 2010
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte technique & logiciel IBM i
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2010
    Messages : 179
    Points : 275
    Points
    275
    Par défaut
    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...

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    821
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2008
    Messages : 821
    Points : 1 084
    Points
    1 084
    Par défaut
    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.

  5. #5
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    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.

    On peut modifier sa taille, au lieu des 512 Mo par défaut on peut mettre ce que l'on veut :
    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)

    La cache plan est un objet temporaire paginé, donc on peut sans problème lui mettre une valeur supérieur à la mémoire primaire.

Discussions similaires

  1. Maintenance Plan - Lock - SQL Server 2008R2
    Par gouffe dans le forum Administration
    Réponses: 4
    Dernier message: 08/09/2011, 12h10
  2. [V5R4] Plan Cache SQL
    Par punkoff dans le forum AS/400
    Réponses: 8
    Dernier message: 12/06/2009, 09h30
  3. Planning en SQL
    Par 18carats dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 26/01/2009, 09h35
  4. Possibilité de planning avec SQL Server
    Par LEK dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 04/07/2008, 08h45
  5. Forcer le vidage de la cache
    Par d10g3n dans le forum Flash
    Réponses: 6
    Dernier message: 19/03/2007, 02h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo