TKPROF : cet utilitaire du
système d'exploitation convertit la sortie d'une session SQL TRACE dans un
format lisible.
Utiliser SQL Trace et TKPROF
Une procédure spécifique doit être
suivie pour évaluer correctement les performances des instructions SQL à l'aide
de SQL Trace et de TKPROF :
•
La première étape consiste à définir les
paramètres d'initialisation de façon appropriée. Cette définition peut
s'effectuer au niveau de l'instance, mais il est possible également de définir
certains paramètres au niveau de la session.
•
Vous devez appeler SQL Trace soit au niveau de
l'instance, soit au niveau de la session. En règle générale, il est conseillé
de l'appeler au niveau de la session.
•
Exécutez l'application ou l'instruction SQL à
diagnostiquer.
•
Arrêtez SQL Trace pour pouvoir fermer
correctement le fichier trace au niveau du système d'exploitation.
•
Utilisez TKPROF pour rendre lisible le fichier
trace généré au cours de la session de trace. Si le fichier de sortie n'est pas
lisible, il est très difficile d'interpréter les résultats.
•
Pour diagnostiquer les performances de
l'instruction SQL, utilisez les résultats de TKPROF.
Paramètres d'initialisation
Deux paramètres du fichier init.ora
gèrent la taille et la destination du fichier de sortie généré par l'utilitaire
SQL Trace :
max_dump_file_size
= n
Ce paramètre est exprimé en octets
s'il porte la mention Ko ou Mo, ou, à défaut, en nombre de blocs du système
d'exploitation. La valeur par défaut est de 10000 blocs de système
d'exploitation.
Lorsqu'un fichier trace dépasse la
taille définie par la valeur de ce paramètre, le message suivant s'affiche à la
fin du fichier : *** Trace file full ***
Le paramètre suivant détermine la
destination du fichier trace :
user_dump_dest
= directory
Vous devez définir un troisième
paramètre pour obtenir les statistiques temporelles :
timed_statistics
= TRUE
La résolution des statistiques
temporelles s'effectue au centième de seconde.
Le paramètre TIMED_STATISTICS peut
également être défini de manière dynamique au niveau de la session, à l'aide de
la commande ALTER SESSION.
Activer et désactiver SQL Trace
SQL Trace peut être activé ou
désactivé à l'aide de différentes méthodes, au niveau de l'instance ou de la
session.
Au niveau de l'instance :
La définition du paramètre SQL_TRACE
au niveau de l'instance constitue l'une des méthodes d'activation de la
fonction de trace. Toutefois, l'instance doit être arrêtée, puis redémarrée une
fois que la fonction de trace n'est plus utilisée. En outre, le taux de
performance doit être élevé, car toutes les sessions de l'instance font l'objet
d'un suivi d'exécution.
Au niveau de la session :
L'utilisation de la fonction de
trace au niveau de la session requiert un taux de performance moindre, car le
suivi peut porter sur des sessions spécifiques. Vous pouvez activer ou
désactiver SQL Trace :
•
à l'aide de la commande ALTER SESSION, qui
permet d'exécuter la fonction de trace pendant toute la durée de la session ou
jusqu'à ce que la valeur FALSE soit définie,
•
en utilisant la procédure DBMS_SESSION.SET_SQL_TRACE
pour la session,
•
en utilisant la procédure DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION
pour activer la fonction de trace dans une session différente de la session
actuelle.
Rendre le fichier trace lisible
à l'aide de TKPROF
$ tkprof tracefile.trc output.txt
NB : Prochain article : Interpréter un fichier trace générer par TKPROF