Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak profilować wydajność procedury składowanej Oracle od początku do końca?

Jeśli używasz Oracle 11g, powinieneś spojrzeć na hierarchiczny profiler, DBMS_HPROF. Jest to narzędzie, które poda czasy, które upłynął dla wszystkich węzłów w programie PL/SQL. Jak sama nazwa wskazuje, jest to szczególnie przydatne do badania programów wywołujących programy wywołujące programy. Identyfikuje również terminy dla instrukcji SQL różniące się od wywołań funkcji. Dowiedz się więcej .

Jest to część standardowego wdrożenia 11g, a zatem jest bezpłatny. Cóż, jak już zapłacisz za licencję, to nic nie kosztuje :)

Domyślnie prawa do pakietu DBMS_HPROF nie są przyznawane nikomu. Musisz więc poprosić kogoś z dostępem do SYSDBA, aby cię dobrze zobaczył. Analiza wymaga również stworzenia niektórych tabel. Żadna z tych rzeczy nie powinna stanowić problemu, ale wiem, że czasami tak jest.

Niestety, korzystasz z wcześniejszej wersji. Tak więc pozostaje ci tylko DBMS_PROFILER, który istnieje od 9i. To w zasadzie działa dobrze dla pojedynczego programu. Jego główną wadą jest to, że możemy go używać tylko w programach, dla których mamy uprawnienie CREATE (tj. tylko programy w naszym schemacie, chyba że mamy uprawnienie CREATE ANY PROCEDURE, co zwykle oznacza bycie DBA). Ponadto do profilowania wbudowanych instrukcji SQL musimy użyć pakietu DBMS_TRACE. Dowiedz się więcej.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Funkcja ATAN() w Oracle

  2. Jak mogę połączyć się z bazą danych Oracle jako sysdba za pomocą bltoolkit?

  3. wyświetlanie nazw kolumn tabeli Oracle

  4. Czy operator IN może używać symboli wieloznacznych LIKE (%) w Oracle?

  5. Jak radzić sobie z cudzysłowami ' w SQL?