sql >> Databáze >  >> RDS >> Oracle

Jak profilovat end-to-end výkon uložené procedury Oracle

Pokud používáte Oracle 11g, měli byste se podívat na hierarchický profiler DBMS_HPROF. Toto je nástroj, který vám poskytne uplynulé časování pro všechny uzly v programu PL/SQL. Jak název napovídá, je zvláště užitečný pro zkoumání programů, které volají programy, které volají programy. Také identifikuje načasování pro příkazy SQL odlišné od volání funkcí. Další informace .

Je součástí standardního nasazení 11g, a proto je zdarma. Jakmile zaplatíte za licenci, je zdarma :)

Ve výchozím nastavení nejsou práva na balíček DBMS_HPROF udělena nikomu. Takže budete muset získat někoho s přístupem SYSDBA, aby vás viděl správně. Analýza také vyžaduje vytvoření některých tabulek. Ani jedna z těchto věcí by neměla být problémem, ale vím, že někdy jsou.

Bohužel jste na starší verzi. Zbývá vám tedy pouze DBMS_PROFILER, který existuje již od 9i. To v zásadě funguje dobře pro jeden program. Jeho hlavní nevýhodou je, že jej můžeme používat pouze na programech, pro které máme oprávnění CREATE (tj. pouze programy v našem schématu, pokud nemáme oprávnění CREATE ANY PROCEDURE, což obvykle znamená být DBA). Také pro profilování vložených příkazů SQL musíme použít balíček DBMS_TRACE. Další informace



  1. vyberte název relevance na základě značky podobné jako u mysql

  2. převod datového typu varchar na datový typ datetime vedl k hodnotě mimo rozsah

  3. Co je ISO_year na serveru SQL

  4. Něco rychlejšího než get_headers()