|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Alexis ONGAGNA Inscription : septembre 2010 Messages : 62 ![]() |
Bonjour,
J'ai une question à poser aux DBA qui liront ce post. Depuis quelque temps, notre DBA de production me parle de figer le plan d'un certain nombre de requêtes dont les plans ont changé depuis 1 mois. J'aimerais savoir comment on le fait ? Le plan d'exécution d'une requete SQL est, me semble t-il, consultable dans la vue V$SQL_PLAN. L'historique des différents plans sont obtenus grâce à la vue DBA_HIST_SQL_PLAN. Comment à partir de ces vue, un DBA peut t-il figer le plan d'une requete ? Merci de m'éclairer ce point svp. |
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() Inscription : mai 2007 Messages : 405 ![]() |
Bonjour,
Une des solutions serait de bloquer les stats. l'autre solution serait d'uliser les HINT pour orienter l'optimiseur à prendre toujour le même plan d'exécution. .... .... LBO72 |
|
|
00
|
|
|
#3 | |
|
Membre chevronné
![]() François Inscription : février 2010 Messages : 395 ![]() |
Citation:
![]() Juste par curiosité, il (le DBA) sait comment faire mais ne veut pas vous dire? Ou alors il a entendu dire que ça se faisait mais ne sais pas comment faire? Ou il va vous expliquer en guise de cadeau de noel? Sinon pour le technique: SQL Plan management: DBMS_SPM. Vu la manière dont vous en parlez, ce sera bien plus propre que de mettre des hints, et c'est compatible avec le bind variable peeking. C'est fort quand même. (11g, sinon c'est les outlines en 10g il me semble mais je connais pas plus que ça) |
|
|
|
00
|
|
|
#4 |
|
Membre éclairé
![]() ![]() |
A mon avis, la solution c'est de fixer les plan d'exécutions par des HINT, comme ça oracle doit oblogatoirement suivre vos instructions.
ALors si on stop les statistiques ca sera pour tt les requete alors que dans votre cas, vous avez juste fixer le plan pour certains requetes.
__________________
Cordialement, Z.EL HAMDAOUI Consultant Oracle blog.developpez.com/zakaria-elhamdaoui/ http://zelhamdaoui.blogspot.com/ Réglage des instructions SQL
|
|
10
|
|
|
#5 |
|
Expert Confirmé
![]() ![]() Franck PachotConsultant DBA en Suisse (Trivadis SA) Inscription : novembre 2007 Messages : 992 ![]() |
Bonjour,
Les solutions pour fixer un plan d'exécution dépendent de votre version et vos options: avez-vous Tuning Pack ? Mais fixer un plan est - à mon avis - une solution temporaire: le plan que vous fixez ne sera peut-être pas bon - lorsque le volume des données va changer - lorsque vous allez changer de version d'Oracle - lorsque vous allez déployer des évolutions de votre application - ... Mais si plusieurs plans ont changé depuis 1 mois, il faut comprendre pourquoi, et fixer la cause ! Cordialement, Franck.
__________________
A lire sur mon blog Oracle - Articles d'Experts des articles traduits en français de Jonathan Lewis, Tom Kyte, Doug Burns, Cary Millsap, Greg Rahn ...
|
|
00
|
Copyright © 2000-2013 - www.developpez.com