Script SQL pour tracer un évènement générant du latch
Bonjour à tous.
Je viens tout juste de m'inscrire sur ce forum (même si j'en suis un lecteur occasionnel) car je n'arrive pas à trouver ce que je cherche :)
Je rencontre actuellement, dans un cadre professionnel, des problèmes de contention au niveau de la library cache, lors des périodes de forte charge. Outre le fait que cela génère des temps d'exécutions de certaines requêtes un peu plus long que la normale, cela engendre un effet boule de neige qui au final écroule totalement la machine (CPU à fond, swap, timeout de l'application lors des connexions à la base etc... ces problèmes sont en cours d'analyse...)
En interrogeant les vue v$sql, v$sessions et v$session_waits dans un script qui tourne en crontab, j'arrive à récupérer les évènements sur lesquelles les requêtes attendent (comme par exemple la requête X attend sur un évènement latch free - attente de pouvoir poser un latch).
Ce que je n'arrive pas à faire par contre, c'est de pouvoir dire de façon irréfutable que telle requête a généré tel évènement... J'ai un nombre d'attentes (et un temps d'attente total) absolument hallucinant sur des latch library cache, mais pas moyen de savoir quelle(s) requête(s) génère(nt) ces latch en library cache.
Si quelqu'un a en sa possession un script miracle qui puisse me donner satisfaction, je lui en serait éternellement reconnaissant (je n'ai que ca à offrir sur le net, désolé, sinon un coup au bar du coin dans la vraie vie ;) )
Merci d'avance !
Deupac (un pseudo à la con je vous l'accorde).