sql >> Base de Datos >  >> RDS >> Oracle

Cómo perfilar el rendimiento de extremo a extremo del procedimiento almacenado de Oracle

Si está utilizando Oracle 11g, debería echar un vistazo al perfilador jerárquico, DBMS_HPROF. Esta es una herramienta que le dará tiempos transcurridos para todos los nodos en un programa PL/SQL. Como sugiere el nombre, es especialmente útil para investigar programas que llaman a programas que llaman a programas. También identifica la temporización de las sentencias SQL distintas de las llamadas a funciones. Más información .

Es parte de la implementación estándar de 11g y, por lo tanto, es gratuito. Bueno, una vez que haya pagado su licencia, es gratis :)

Por defecto, los derechos sobre el paquete DBMS_HPROF no se otorgan a nadie. Por lo tanto, necesitará que alguien con acceso SYSDBA lo vea bien. El análisis también requiere la creación de algunas tablas. Ninguna de estas cosas debería ser un problema, pero sé que a veces lo son.

Por desgracia, estás en una versión anterior. Eso te deja solo con DBMS_PROFILER, que existe desde 9i. Esto básicamente funciona bien para un solo programa. Su principal inconveniente es que solo podemos usarlo en programas para los que tenemos el privilegio CREATE (es decir, solo programas en nuestro esquema a menos que tengamos el privilegio CREATE ANY PROCEDURE, lo que generalmente significa ser un DBA). Además, para generar perfiles de declaraciones de SQL incorporado, necesitamos usar el paquete DBMS_TRACE. Más información