Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels 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/09/2011, 11h32   #1
Invité de passage
 
fabrice desalle
Inscription : décembre 2009
Messages : 7
Détails du profil
Informations personnelles :
Nom : fabrice desalle

Informations forums :
Inscription : décembre 2009
Messages : 7
Points : 1
Points : 1
Par défaut Oracle 11g versus Oracle 9i sous LINUX RED HAT

Bonjour,

Je suis désespéré...

Je suis en train de migrer un Datawarehouse de Oracle 9 (9.2.0.7.0) vers Oracle 11 (11.1.0.6.0) sous LINUX REDHAT.

J'ai une bête requête d'UPDATE sur une table avec un Index (plus basique, je ne peux pas)
Mes statistiques sur la table sont toutes fraîches.

Sous Oracle 9 > 1 min
Sous Oracle 11 > 30 à 50 min

J'ai modifié l'OPTIMIZER_MODE de Oracle 11 en le mettant sur CHOOSE à la place de ALL_ROWS pour être dans les mêmes conditions que dans mon Oracle 9.

Le plan d'exécution est le même MIS A PART que j'ai un HASH UNIQUE sous 11 et SORT UNIQUE sous 9.

Il passe bien par l'index...

Quelqu'un a-t-il une idée?

Merci, merci, merci...
fdesalle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 11h38   #2
Expert Confirmé Sénior
 
Avatar de mnitu
 
Homme Marius Nitu
Ingénieur développement logiciels
Inscription : octobre 2007
Messages : 3 311
Détails du profil
Informations personnelles :
Nom : Homme Marius Nitu
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 3 311
Points : 5 813
Points : 5 813
Avec seulement ces informations vous ne pouvez que mettre la base en compatibilité 9 et croiser les doigts.
Sinon essayez de suivrez le conseils du Mouhamed.Houri dans ce poste
mnitu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 12h05   #3
Membre expérimenté
 
Homme Mohamed Houri
Inscription : mars 2010
Messages : 286
Détails du profil
Informations personnelles :
Nom : Homme Mohamed Houri
Localisation : France

Informations forums :
Inscription : mars 2010
Messages : 286
Points : 563
Points : 563
Avez vous essayé de faire ceci dans la release 11
Code :
ALTER session SET optimizer_features_enable='9.2.0.7.0';
Ceci vous permettra de voir si vous retrouvez le même explain plan que celui que vous aviez en 9. Si c'est le cas alors il va falloir commencer les investigations pour remédier au problème en 11g sans changer ce paramètre de l'optimisateur. C'est généralement un changement dans l'explain plan qui provoque cette différence dans le temps de réponse. Et cela peut être causé par plusieurs raisons comme le changement des paramètres par défaut du calcul des statistiques, le changement de l'algorithme qui fait le GROUP BY, etc...
__________________
Bien Cordialement
www.hourim.wordpress.com
Mohamed.Houri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 12h27   #4
Invité de passage
 
fabrice desalle
Inscription : décembre 2009
Messages : 7
Détails du profil
Informations personnelles :
Nom : fabrice desalle

Informations forums :
Inscription : décembre 2009
Messages : 7
Points : 1
Points : 1
Par défaut ...

Le fait de faire ALTER session SET optimizer_features_enable='9.2.0'; ne change pas le plan d'exécution et la requête est toujours dans les choux.

Je ne sais pas si vous avez besoin d'autres informations mais je me demande quels sont les différences entre Oracle 9 et Oracle 11.

Une autre différence que je viens de noter grâce à TOAD, c'est que dans le cas d'Oracle 9, j'ai une Long Ops et pas dans Oracle 11.

En tout cas, merci pour vos prompts réponses!!!
fdesalle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 13h17   #5
Membre Expert
 
Inscription : août 2009
Messages : 779
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 779
Points : 1 098
Points : 1 098
Les statistiques peuvent avoir été calculées différemment, avec des histogrammes ne portant pas sur les même colonnes, etc. Avoir quelques traces ne ferait pas de mal
Rei Ichido est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 14h09   #6
Expert Confirmé Sénior
 
Avatar de mnitu
 
Homme Marius Nitu
Ingénieur développement logiciels
Inscription : octobre 2007
Messages : 3 311
Détails du profil
Informations personnelles :
Nom : Homme Marius Nitu
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 3 311
Points : 5 813
Points : 5 813
Citation:
Envoyé par fdesalle Voir le message
Le fait de faire ALTER session SET optimizer_features_enable='9.2.0'; ne change pas le plan d'exécution et la requête est toujours dans les choux.
...
Avez-vous croisés les doigts ?
Requête, explain plan sur 9, et surtout trace SQL étendue pour la 11g ...
mnitu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 14h15   #7
Invité de passage
 
fabrice desalle
Inscription : décembre 2009
Messages : 7
Détails du profil
Informations personnelles :
Nom : fabrice desalle

Informations forums :
Inscription : décembre 2009
Messages : 7
Points : 1
Points : 1
Par défaut Histogram

Ah, bien vu.

Une autre différence entre ma table sous Oracle 9, Histogram = YES,
par contre sur ma table sous Oracle 11, Histogram = NONE;

Je cherche la manière de les mettre sur YES!!!

En tout cas, merci pour ce nouvel éclaircissement!
fdesalle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2011, 19h15   #8
Membre éprouvé
 
Femme
Administrateur de base de données
Inscription : novembre 2007
Messages : 341
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Administrateur de base de données

Informations forums :
Inscription : novembre 2007
Messages : 341
Points : 478
Points : 478
c'est bizarre que ce soit dans ce sens. il me semblait que par défaut en 9i il n'y avait pas d'histogrammes.
donc s'il n'y en a pas en 11g alors que normalement il devrait, c'est que ces histogrammes peuvent avoir été deletés. tu les as calculées comment les stats? tu as laissé oracle calculer ou bien tu as fait ce calcul manuellement? et dans ce cas avec quelle commande?
le paramètre de dbms_stats qui conditionne le calcul d'histogrammes est METHOD_OPT et il peut faire du chirurgical comme on peut laisser faire Oracle. tu veux mettre tes histogrammes sur quelles colonnes, avec combien de buckets?
Heaven93 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 02h04.


 
 
 
 
Partenaires

Hébergement Web