Précédent   Forum du club des développeurs et IT Pro > 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
 
Outils de la discussion
Publicité
'
Vieux 10/12/2012, 23h46   #1
devkais
Candidat au titre de Membre du Club
 
Homme
Consultant
Inscription : mai 2006
Messages : 50
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Consultant

Informations forums :
Inscription : mai 2006
Messages : 50
Points : 10
Points : 10
Par défaut Comment les stats ont été calculées ?

Bonjour,
Je débarque sur un site où les statistiques sont calculées sur les objets d'une base oracle 11g.
Ma question : comment je peux savoir avec quels valeurs des paramètres du package DBMS_STATS ont été calculées ces statistiques ( compute , estimate_percent , granularity , degree …) ?
Merci
devkais est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2012, 09h29   #2
mnitu
Expert Confirmé Sénior
 
Avatar de mnitu
 
Homme Marius Nitu
Ingénieur développement logiciels
Inscription : octobre 2007
Messages : 4 115
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 : 4 115
Points : 8 010
Points : 8 010
Regardez le package DBMS_STATS dans la doc d'Oracle.
mnitu est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 11/12/2012, 22h26   #3
devkais
Candidat au titre de Membre du Club
 
Homme
Consultant
Inscription : mai 2006
Messages : 50
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Consultant

Informations forums :
Inscription : mai 2006
Messages : 50
Points : 10
Points : 10
Bonjour Mnitu
Ma question n'était pas sur comment calculer les stats avec le Package DBMS_STATS.

Je m'exprime autrement :

Si stats calculés sur des objets Oracle comment deviner avec quelles valeurs des paramètres du DBMS_STATS elles étaient calculées.
Merci.
devkais est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 12/12/2012, 10h01   #4
mnitu
Expert Confirmé Sénior
 
Avatar de mnitu
 
Homme Marius Nitu
Ingénieur développement logiciels
Inscription : octobre 2007
Messages : 4 115
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 : 4 115
Points : 8 010
Points : 8 010
Citation:
Envoyé par devkais Voir le message
...
Ma question n'était pas sur comment calculer les stats avec le Package DBMS_STATS.

...
Bonjour,

Avez-vous jeté un œil sur le package DBMS_STATS ?

Bref, vous calculez les statistiques via le package dbms_stats qui a des valeurs par default. Ces valeurs peuvent être changées via des appels à divers procédures et fonction du package dbms_stats. Les valeurs utilisées pour calculer les statistiques sont disponible via des appels à des autres fonctions du package dbms_stats.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 
Connected TO Oracle DATABASE 11g Enterprise Edition Release 11.2.0.1.0 
Connected AS mni
 
SQL> 
SQL> SELECT DBMS_STATS.GET_PREFS('ESTIMATE_PERCENT',USER,'EMP')
  2    FROM dual
  3  /
 
DBMS_STATS.GET_PREFS('ESTIMATE
--------------------------------------------------------------------------------
DBMS_STATS.AUTO_SAMPLE_SIZE
SQL> Exec dbms_stats.set_table_prefs(USER, 'EMP', 'ESTIMATE_PERCENT', 15)
 
PL/SQL procedure successfully completed
SQL> Exec dbms_stats.gather_table_stats(USER, 'EMP');
 
PL/SQL procedure successfully completed
SQL> Select DBMS_STATS.GET_PREFS('ESTIMATE_PERCENT',USER,'EMP')
  2    from dual
  3  /
 
DBMS_STATS.GET_PREFS('ESTIMATE
--------------------------------------------------------------------------------
15
 
SQL> 
SQL> SELECT DBMS_STATS.GET_PREFS('ESTIMATE_PERCENT')
  2    FROM dual
  3  /
 
DBMS_STATS.GET_PREFS('ESTIMATE
--------------------------------------------------------------------------------
DBMS_STATS.AUTO_SAMPLE_SIZE
 
SQL>
Et vous disposez également des vues vous donnant des informations sur l’historique des opérations de calcul des statistiques: DBA_OPTSTAT_OPERATIONS et *_TAB_STATS_HISTORY
mnitu est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 12/12/2012, 21h19   #5
devkais
Candidat au titre de Membre du Club
 
Homme
Consultant
Inscription : mai 2006
Messages : 50
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Consultant

Informations forums :
Inscription : mai 2006
Messages : 50
Points : 10
Points : 10
Par défaut OK

Merci Mnitu.
Réponse claire et précise.

En effet j'avais pensé que GET_PREFS concerne que les stats par défaut au niveau global uniquement.
Or je découvre grâce à vous qu'on peut l'appliquer sur un objet pour retourner la valeur du paramètre statistique fixé sur cette objet.

Je vote + et je clôture la discussion !

Merci encore une fois et à bientôt dans un autre sujet
devkais est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 06h52.


 
 
 
 
Partenaires

Hébergement Web