[ ORACLE ] statistique sur les requêtes

Le
Fabien P
bonjour,

j'aimerais savoir si il est possible de connaitre combien de fois par jour
un requête est exécutée du moins le chemin suivie par la requête.

Et si oui, où puis-je trouver l'information et comment la récupérer.

je suis sous 8i

merci, fab
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Bruno Jargot
Le #21709921
In article "Fabien P"
j'aimerais savoir si il est possible de connaitre combien de fois par jour
un requête est exécutée du moins le chemin suivie par la requête.

Et si oui, où puis-je trouver l'information et comment la récupérer.

je suis sous 8i



Il n'y a pas de méthodes simples.

Le principe d'une éventuelle solution est le suivant :
Les plans d'exécutions des requêtes exécutées sont stockés dans le
cache. Lorsqu'une requête est exécutée plusieurs fois, les exécutions
suivantes utilisent le plan d'exécution calculé la première fois.

En 8i, le plan d'exécution n'est pas accessible (à ma connaissance au
moins) mais les requêtes stockées dans le cache sont accessibles par la
vue v$sqlarea avec des statistiques associées tel que (nombre
d'exécutions, nombre de lecture disques, nombre de lecture dans le
buffer cache, date de la première exécution).

Si le cache est suffisament important, si la requête est exécutéé
régulièrement, on peut remonté assez loin dans le passé.

A noter : seul les 2000 premiers caractères de la requête sont stockés
dans v$sqlarea. La requête complète est accessible dans v$sqltext avec
une jointure sur hash_value et address.

En espérant avoir répondu à la question
Fabien P
Le #21709881
merci beaucoup, c'est exactement de ca que je parlais.

Fab


"Bruno Jargot"
In article "Fabien P"
> j'aimerais savoir si il est possible de connaitre combien de fois par


jour
> un requête est exécutée du moins le chemin suivie par la requête.
>
> Et si oui, où puis-je trouver l'information et comment la récupérer.
>
> je suis sous 8i

Il n'y a pas de méthodes simples.

Le principe d'une éventuelle solution est le suivant :
Les plans d'exécutions des requêtes exécutées sont stockés dans le
cache. Lorsqu'une requête est exécutée plusieurs fois, les exécutions
suivantes utilisent le plan d'exécution calculé la première fois.

En 8i, le plan d'exécution n'est pas accessible (à ma connaissance au
moins) mais les requêtes stockées dans le cache sont accessibles par la
vue v$sqlarea avec des statistiques associées tel que (nombre
d'exécutions, nombre de lecture disques, nombre de lecture dans le
buffer cache, date de la première exécution).

Si le cache est suffisament important, si la requête est exécutéé
régulièrement, on peut remonté assez loin dans le passé.

A noter : seul les 2000 premiers caractères de la requête sont stockés
dans v$sqlarea. La requête complète est accessible dans v$sqltext avec
une jointure sur hash_value et address.

En espérant avoir répondu à la question
Publicité
Poster une réponse
Anonyme