sql >> Database >  >> RDS >> Oracle

Hoe de end-to-end-prestaties van de opgeslagen procedure van Oracle te profileren?

Als u Oracle 11g gebruikt, moet u eens kijken naar de hiërarchische profiler, DBMS_HPROF. Dit is een tool die je de verstreken tijd geeft voor alle nodes in een PL/SQL-programma. Zoals de naam al doet vermoeden, is het vooral handig voor het onderzoeken van programma's die programma's oproepen die programma's oproepen. Het identificeert ook timing voor SQL-instructies die verschillen van functieaanroepen. Meer informatie .

Het maakt deel uit van de standaard 11g-implementatie en is daarom gratis. Nou, als je eenmaal voor je licentie hebt betaald, is het gratis :)

Standaard worden aan niemand rechten verleend op het pakket DBMS_HPROF. Je moet dus iemand met SYSDBA-toegang hebben om je goed te zien. De analyse vereist ook het maken van enkele tabellen. Geen van deze dingen zou een probleem moeten zijn, maar ik weet dat ze dat soms zijn.

Helaas, je zit op een eerdere versie. Dus dat laat je alleen met DBMS_PROFILER, dat al sinds 9i bestaat. Dit werkt in principe goed voor een enkel programma. Het belangrijkste nadeel is dat we het alleen kunnen gebruiken voor programma's waarvoor we het CREATE-privilege hebben (d.w.z. alleen programma's in ons schema, tenzij we het CREATE ANY PROCEDURE-privilege hebben, wat meestal betekent dat we een DBA zijn). Voor het profileren van ingesloten SQL-instructies moeten we ook het pakket DBMS_TRACE gebruiken. Meer informatie.



  1. MySQL GUID/UUID's opslaan

  2. 5 MySql nuttige vragen tijdens projectontwikkeling

  3. JPA flush vs commit

  4. mysql toont beschikbare tijdvakken en tijdvakken bezet vanaf tafel