Oracle
 sql >> Database >  >> RDS >> Oracle

Come profilare le prestazioni end-to-end della stored procedure Oracle

Se stai usando Oracle 11g dovresti dare un'occhiata al profiler gerarchico, DBMS_HPROF. Questo è uno strumento che ti darà i tempi trascorsi per tutti i nodi in un programma PL/SQL. Come suggerisce il nome, è particolarmente utile per indagare sui programmi che chiamano programmi che chiamano programmi. Identifica inoltre i tempi per le istruzioni SQL distinte dalle chiamate di funzione. Scopri di più .

Fa parte della distribuzione standard 11g e quindi è gratuito. Bene, una volta pagata la licenza è gratis :)

Per impostazione predefinita, i diritti sul pacchetto DBMS_HPROF non sono concessi a nessuno. Quindi, avrai bisogno di qualcuno con accesso SYSDBA per vederti bene. L'analisi richiede anche la creazione di alcune tabelle. Nessuna di queste cose dovrebbe essere un problema, ma so che a volte lo sono.

Ahimè, sei su una versione precedente. Quindi questo ti lascia solo con DBMS_PROFILER, che esiste dal 9i. Questo fondamentalmente funziona bene per un singolo programma. Il suo principale svantaggio è che possiamo usarlo solo su programmi per i quali abbiamo il privilegio CREATE (cioè solo programmi nel nostro schema a meno che non abbiamo il privilegio CREATE ANY PROCEDURE, che di solito significa essere un DBA). Inoltre, per profilare le istruzioni SQL incorporate è necessario utilizzare il pacchetto DBMS_TRACE. Scopri di più.