Hello ,
Le hint /*+ MONITOR */ permet de forcer le monitoring d'une requête.
Peut-on monitorer TOUTES les requêtes d'une même session sans avoir à hinter chaque requête ?
merci
Version imprimable
Hello ,
Le hint /*+ MONITOR */ permet de forcer le monitoring d'une requête.
Peut-on monitorer TOUTES les requêtes d'une même session sans avoir à hinter chaque requête ?
merci
heureusement oui.
voir la doc sur le package DBMS_MONITOR.SESSION_TRACE_ENABLE selon ce que vous voulez faire. c'est parfois plus simple de mettre toute la base en mode trace que de trapper dès le début de la session le sid et le serial (avec un trigger par exemple) pour commencer à tracer, malgré l'overhead.
on peut aussi tracer un module, un service_name, une action...
n'oubliez pas d'augmenter la taille de max_dump_file_size à unlimited et de vérifier la place sur le disque qui héberge les traces créées.
voir aussi oradebug
Bonjour,
Je confirme Heaven93, on peut jouer avec le monitoring, mais si tu met une session ou toute la BD en monitoring ça va généré beaucoup de fichier trace.
A noter, le seuil de 5 secondes de CPU+I/O qui déclenche le monitoring peut se baisser avec _sqlmon_threshold mais on ne peut pas mettre 0 qui désactive le monitoring.