Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Profilieren der End-to-End-Leistung von gespeicherten Oracle-Prozeduren

Wenn Sie Oracle 11g verwenden, sollten Sie sich den hierarchischen Profiler DBMS_HPROF ansehen. Dies ist ein Tool, das Ihnen verstrichene Zeiten für alle Knoten in einem PL/SQL-Programm liefert. Wie der Name schon sagt, ist es besonders nützlich, um Programme zu untersuchen, die Programme aufrufen, die Programme aufrufen. Es identifiziert auch das Timing für SQL-Anweisungen, die sich von Funktionsaufrufen unterscheiden. Weitere Informationen .

Es ist Teil der standardmäßigen 11g-Bereitstellung und daher kostenlos. Nun, sobald Sie Ihre Lizenz bezahlt haben, ist sie kostenlos :)

Standardmäßig werden niemandem Rechte auf das DBMS_HPROF-Paket gewährt. Sie müssen also jemanden mit SYSDBA-Zugriff dazu bringen, Sie richtig zu sehen. Die Analyse erfordert auch die Erstellung einiger Tabellen. Keines dieser Dinge sollte ein Problem sein, aber ich weiß, dass sie es manchmal sind.

Leider sind Sie auf einer früheren Version. Damit bleibt Ihnen nur noch DBMS_PROFILER, das es seit 9i gibt. Dies funktioniert grundsätzlich gut für ein einzelnes Programm. Sein Hauptnachteil ist, dass wir es nur für Programme verwenden können, für die wir das CREATE-Privileg haben (d. h. nur Programme in unserem Schema, es sei denn, wir haben das CREATE ANY PROCEDURE-Privileg, was normalerweise bedeutet, ein DBA zu sein). Außerdem müssen wir für die Profilerstellung von eingebetteten SQL-Anweisungen das DBMS_TRACE-Paket verwenden. Erfahren Sie mehr.