Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment profiler les performances de bout en bout de la procédure stockée Oracle

Si vous utilisez Oracle 11g, vous devriez jeter un œil au profileur hiérarchique, DBMS_HPROF. Il s'agit d'un outil qui vous donnera les temps écoulés pour tous les nœuds d'un programme PL/SQL. Comme son nom l'indique, il est particulièrement utile pour étudier les programmes qui appellent des programmes qui appellent des programmes. Il identifie également la synchronisation des instructions SQL distinctes des appels de fonction. En savoir plus .

Il fait partie du déploiement standard 11g et est donc gratuit. Eh bien, une fois que vous avez payé votre licence, c'est gratuit :)

Par défaut, les droits sur le package DBMS_HPROF ne sont accordés à personne. Donc, vous devrez demander à quelqu'un avec un accès SYSDBA de vous voir correctement. L'analyse nécessite également la création de certains tableaux. Aucune de ces choses ne devrait être un problème, mais je sais que parfois elles le sont.

Hélas, vous êtes sur une version antérieure. Cela ne vous laisse donc que DBMS_PROFILER, qui existe depuis 9i. Cela fonctionne fondamentalement bien pour un seul programme. Son principal inconvénient est que nous ne pouvons l'utiliser que sur les programmes pour lesquels nous avons le privilège CREATE (c'est-à-dire uniquement les programmes de notre schéma, sauf si nous avons le privilège CREATE ANY PROCEDURE, ce qui signifie généralement être un DBA). De plus, pour le profilage des instructions Embedded SQL, nous devons utiliser le package DBMS_TRACE. En savoir plus.