vendredi 10 juillet 2015

Utilitaire : TKPROF pour tracer une sessions Oracle


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



Aucun commentaire:

Enregistrer un commentaire