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 20/12/2006, 13h19   #1
Invité de passage
 
Inscription : décembre 2006
Messages : 3
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 3
Points : 0
Points : 0
Par défaut Optimisation Oracle 8

Bonjour à tous,

Quel est la différence entre les deux ordres suivants :

1- DBMS_UTILITY.analyze_schema('TOTO','COMPUTE');

2 - dbms_stats.gather_schema_stats(ownname=> 'TOTO' , cascade=> TRUE);

En effet, si je rajoute ou supprime un index sur une table quel serait le meilleur ordre à lancer? (1 ou 2 ou un autre).

Cdt,

Thegarf
thegarf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2006, 14h18   #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 2° qui est plus récent. Le premier tend à devenir obsoléte alors autant prendre de bonnes habitudes
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2006, 15h43   #3
Invité de passage
 
Inscription : décembre 2006
Messages : 3
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 3
Points : 0
Points : 0
Par défaut Comportement différent

Oui sauf que je n'ai pas le même comportement quand je lance le 1er ou le second.

Cdt,

M BAY
thegarf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2006, 08h44   #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
c'est à dire ?
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2006, 11h40   #5
Membre éclairé
 
Avatar de Wurlitzer
 
Inscription : avril 2006
Messages : 465
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 465
Points : 368
Points : 368
Moi aussi j'ai toujours entendu qu'il failait mieux utiliser : dbms_stats.

Sauf que moi j'ai parfois des soucis (en 8.1.7.4) avec le gather_table_stats qui me renvoi

Code :
 ORA-00600: internal error code, arguments: [16515], [D], [40], [3634], [2], [0], [], []
Oracle recommande dans ce cas de supprimer les stats et de recommencer. Ce qui est une tres mauvaise idée sur une grosse base de prod puisque dés que les stat ont été effacées sur une grosse table, les plans sont partis en vrille. Les perfs se sont écroulé et du coup, il a fallu plusieurs heures pour recalculer les stats.... Pendant tout ce temps les utilisteurs ont été dans une situation tres dégradée.

Si vous avez une solution pour eviter cette erreur, je suis preneur
Wurlitzer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2006, 10h32   #6
Invité de passage
 
Inscription : décembre 2006
Messages : 3
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 3
Points : 0
Points : 0
J'ai rencontré le même problème que 'Wurlitzer' aprés avoir reconstruit des grosses tables.

Il m'a fallut une journée pour que les statistics soient / à l'activité de production et que je retrouve les performances des jours précédents.

Ma question initiale était de mettre en évidence une procédure pour éviter ce problème car le logiciel qui pointe vers cette base continue à fortement évoluer et je rencontrerai à nouveau ce problème lors des prochaines mise en production.

Cdt,

The Garf
thegarf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2006, 10h36   #7
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
il suffit de faire un DELETE_TABLE_STAT avant le GATHER_TABLE_STAT, cela supprime les stats de l'objet courant seulement.

Source : Note:2252824.8
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2006, 11h52   #8
Membre éclairé
 
Avatar de Wurlitzer
 
Inscription : avril 2006
Messages : 465
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 465
Points : 368
Points : 368
Citation:
Envoyé par Fred_D
il suffit de faire un DELETE_TABLE_STAT avant le GATHER_TABLE_STAT, cela supprime les stats de l'objet courant seulement.

Source : Note:2252824.8

Oui j'avais vu cette note et il ne faut SURTOUT pas faire de DELETE_TABLE_STAT. C'est ce que j'ai fait mais sur une table de plusieurs millions de lignes avec plusieurs centaines d'utilisateurs. Je l'ai payé cash ! !

Tous les plans d'accès a cette table se sont mis immediatement a déconner. Ce qui a suffit à mettre le serveur a plat et rendre le reclalcul des stats sur cette table tres long et tres compliquée. Et surtout gener tout le monde pendant de longues heures
Wurlitzer 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 15h54.


 
 
 
 
Partenaires

Hébergement Web