Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Débuter
Débuter Forum d'entraide pour débuter avec Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/02/2008, 09h51   #1
Invité de passage
 
Inscription : février 2008
Messages : 7
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 7
Points : 1
Points : 1
Par défaut optimizer_mode : que représente le mode RULE ? Comment passer en mode CHOOSE ?

Bonjour,

J'ai une application qui tourne sur Oracle 9i avec le paramètre [optimiser_mode] positionné à [RULE] et je dois migrer cette application sur Oracle 10g.

Je pensais que ce paramètre n'était plus supporté en Oracle 10g alors j'ai changé le paramètre [optimiser_mode] à [CHOOSE].

=> Résultat, un de mes traitements est passé de 20' à 8h !!!

J'ai tenté de changer en passant à [ALL_ROWS], même résultat.
J'ai tenté de changer en passant à [FISRT_ROWS], même résultat.

Du coup, je suis revenu en mode [RULE] (qui finalement est encore supporté mais déconseillé car n'évolue plus depuis 1994).

Mes questions sont donc :
1 - Que signifie le mode RULE ?
2 - Pourquoi et comment peut-il être aussi performant par rapport au nouveaux modes CBO (Cost Based Optimiser) ?
3 - Si je devais migrer vers un mode CBO, j'ai cru comprendre qu'il fallait recalculer les statistiques... : comment faire ? Est-ce un paramètre à ajouter dans le PFILE ?

Merci pour vos réponses à toutes ou une de mes questions.
LoveOracle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2008, 10h09   #2
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
Le mode CHOOSE s'appuie sur la volumétrie de la base pour choisir le chemin d'accés au donnée (explain plan) le plus adapté contrairement au mode RULE qui ne repose que sur des règles strictes.

La volumétrie ne peut être connue que si les statistiques sont calculées régulièrement, la 10g crée un job en ce sens en principe. Sinon, recherche dans le forum pour voir comment t'y prendre (ou la doc : DBMS_STATS)

Pour finir, il n'y a rien d'étonnant à avoir une baisse de perfs, certaines applis sont développées spécifiquement pour le mode RULE et ne supporte pas le mode CHOOSE. Il convient donc de réécrire les requêtes à problème ou adapter les plans d'indexation
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2008, 10h34   #3
Invité de passage
 
Inscription : février 2008
Messages : 7
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 7
Points : 1
Points : 1
Merci pour ces précisions.

Sinon, j'ai le paramètre [timed_statistics] positionné à [false].
Cela peut-il être la cause d'un non calcul de statistiques ?
LoveOracle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2008, 11h05   #4
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
non mais à des fins de monitoring ça peut-être intéressant de le passer à TRUE sachant que l'overhead que cela génère est négligeable
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h21.


 
 
 
 
Partenaires

Hébergement Web