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 12/12/2006, 14h30   #1
Invité de passage
 
Inscription : janvier 2005
Messages : 16
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 16
Points : 4
Points : 4
Envoyer un message via MSN à jajaCode
Par défaut Plans d'execution differents

Nous avons 2 machines, une pour la recette (bi-proc) une pour la production (quadri).

Ces instances demarent avec le meme init ORA.

Ces instances ont les memes schémas, et les memes objets ( Tables, Index, ...)

La MEME requete genere deux plans d'execution differents.

Avez-vous une idee ?

Merci
jajaCode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2006, 15h04   #2
Expert Confirmé
 
Inscription : février 2006
Messages : 3 433
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3 433
Points : 3 462
Points : 3 462
Est-ce que:
- vous avez exactement la même version d'Oracle (au patch près) ?
- on a le même nombre de lignes dans les tables ?
- les statistiques sont-elles calculées de la même façon ?
- le paramètre de session OPTIMIZER_MODE est-il le même (s'il est défini dans la session, il a priorité sur celui du init.ora) ?
__________________
P. Forstmann

AskTom Forums OTN doc 8, 9, 10 et 11
pifor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2006, 16h02   #3
Invité de passage
 
Inscription : janvier 2005
Messages : 16
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 16
Points : 4
Points : 4
Envoyer un message via MSN à jajaCode
Nos version sont bien les memes.

Les statistiques sont calculés via une proc qui est identique sur nos deux systeme.

Le Parametre OPTIMIZER_MODE est bien en mode CHOOSE et il n'a pas ete modifié.

J'ai reussi a avoir le meme plan en modifiant le parametre CPU_COUNT. J'ai passé ce parametre de 4 à 2 sur une machine de 4 cpu.

Et la, je ne comprends plus bien le fonctionnement.

Quid du pourquoi ?
jajaCode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2006, 16h22   #4
Candidat au titre de Membre du Club
 
Inscription : février 2004
Messages : 18
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : février 2004
Messages : 18
Points : 11
Points : 11
Vous utilisez le parallelisme dans vos requêtes ?
Fakhry est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2006, 16h26   #5
Invité de passage
 
Inscription : janvier 2005
Messages : 16
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 16
Points : 4
Points : 4
Envoyer un message via MSN à jajaCode
Comment puis-je le detecter ?
jajaCode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2006, 16h33   #6
Candidat au titre de Membre du Club
 
Inscription : février 2004
Messages : 18
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : février 2004
Messages : 18
Points : 11
Points : 11
les hints /*+ PARALLEL */
Fakhry est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2006, 16h34   #7
Invité de passage
 
Inscription : janvier 2005
Messages : 16
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 16
Points : 4
Points : 4
Envoyer un message via MSN à jajaCode
Les Hints ne sont pas utilisées dans nos requetes.
jajaCode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2006, 16h38   #8
Membre Expert
 
Inscription : avril 2006
Messages : 1 024
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 1 024
Points : 1 175
Points : 1 175
Y a-t-il exactement les mêmes données dans les 2 bases ?
remi4444 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2006, 16h45   #9
Invité de passage
 
Inscription : janvier 2005
Messages : 16
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 16
Points : 4
Points : 4
Envoyer un message via MSN à jajaCode
Il y a les memes schemas, les memes données et les memes statistiques.

C'est pour cette raisons que j'invoque ce forum.
jajaCode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2006, 16h57   #10
Membre Expert
 
Inscription : avril 2006
Messages : 1 024
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 1 024
Points : 1 175
Points : 1 175
Citation:
Envoyé par jajaCode
J'ai reussi a avoir le meme plan en modifiant le parametre CPU_COUNT. J'ai passé ce parametre de 4 à 2 sur une machine de 4 cpu.
Tout s'explique non ?

dans son choix de plan d'exécution, beaucoup de paramètres rentrent en lignes de compte, et les algorythmes de choix sont parfois obscurs et subtil(cachés du public en tout cas). Le nombre de CPU est un de ces paramètres c'est clair, car selon le degré de parallelisme possible, il va choisir des accès FULL ou pas dans certains cas limite.
remi4444 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2006, 16h57   #11
Expert Confirmé
 
Inscription : février 2006
Messages : 3 433
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3 433
Points : 3 462
Points : 3 462
Quelle est votre version exacte d'Oracle ?
Y-a-t-il des objets tables ou index créés avec l'option parallel ?

Citation:
parallel_clause
The parallel_clause lets you parallelize creation of the table and set the default degree of parallelism for queries and DML (INSERT, UPDATE, DELETE, and MERGE) operations on the table after creation.


--------------------------------------------------------------------------------
Note:
The syntax of the parallel_clause supersedes syntax appearing in earlier releases of Oracle. Superseded syntax is still supported for backward compatibility, but may result in slightly different behavior than that documented.

--------------------------------------------------------------------------------


NOPARALLEL
Specify NOPARALLEL for serial execution. This is the default.

PARALLEL
Specify PARALLEL if you want Oracle to select a degree of parallelism equal to the number of CPUs available on all participating instances times the value of the PARALLEL_THREADS_PER_CPU initialization parameter.

PARALLEL integer
Specification of integer indicates the degree of parallelism, which is the number of parallel threads used in the parallel operation. Each parallel thread may use one or two parallel execution servers. Normally Oracle calculates the optimum degree of parallelism, so it is not necessary for you to specify integer.
Pouvez-vous donner un exemple de plans d'exécution qui diffère ?
__________________
P. Forstmann

AskTom Forums OTN doc 8, 9, 10 et 11
pifor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2006, 17h01   #12
Candidat au titre de Membre du Club
 
Inscription : février 2004
Messages : 18
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : février 2004
Messages : 18
Points : 11
Points : 11
dans la 10GR2 l'algo du CBO se base sur la CPU
Fakhry est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2006, 12h01   #13
Invité de passage
 
Inscription : janvier 2005
Messages : 16
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 16
Points : 4
Points : 4
Envoyer un message via MSN à jajaCode
Il s'agit de la Version 9.2.0.6.
Les objets (table ou index) sont tous avec l'option : parrallel ( degree default)

Merci
jajaCode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2006, 12h29   #14
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 parallélisme est forcément impacté par le CPU_COUNT... je pense que la réponse est évidente du coup
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 23h40.


 
 
 
 
Partenaires

Hébergement Web