Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: profiler dla oracle
Forum PHP.pl > Forum > Bazy danych > Oracle
No1B
witam.

poszukuje narzedzia w stylu profilera z mssql, ktore pozwala na podglad wszystkich zapytan sql wykonywanych przez engine w danej chwili.
Jest cosik takiego dla Oracle? na pewno jest biggrin.gif

Pozdrawiam
Synaps
Informacje o zapytaniach wykonywanych na bazie możesz sprawdzić przez Enterprise manager'a. Wybierając interesującą cie sesje, jesteś w stanie sprawdzić jakim zapytaniem SQL mieli ona baze.Dodatkowo widok v$sql przetrzymuje informacje o ostatnio wykonywanych SQl'ach. Jego minusem jest jednak to ,iż pole które zawiera kod SQL ograniczone jest do 1000 znaków. Z niczego innego osobiście nie korzystam, ale chętnie się dowiem czy może jest cos wiecej z softu w tym temacie aarambo.gif
SongoQ
Cytat
Wybierając interesującą cie sesje, jesteś w stanie sprawdzić jakim zapytaniem SQL mieli ona baze.

Bajer jest ok, ale w przypadku sesji gdzie trwaja kilka mili to niestety nie jestes w stanie zauwazyc, dodatkowo pokazuje koszty zapytania.

Cytat
SQL ograniczone jest do 1000 znaków

A nie przypadkiem do 4000? Zapytania na bazie oracle maja ograniczenie do 4000 znakow, powyzej tego uzywasz bind. Wydaje mi sie ze rowniez taka wielkosc siedzi w ostatnich akcjach.
Synaps
Cytat
Bajer jest ok, ale w przypadku sesji gdzie trwaja kilka mili to niestety nie jestes w stanie zauwazyc, dodatkowo pokazuje koszty zapytania.


Oracle trzyma informacje o sesjach aktwynych i zakończonych. Jeśli będziesz miał szczęscie znajdziesz tam swoje zapytanie. Nie ma sesnu tutaj rozważać przypadków kiedy są to proste zapytania o mały stopniu rozbudowy. Łatwiej takie zapytanie zdebugować z poziomu aplikacji.

Cytat
Cytat
SQL ograniczone jest do 1000 znaków

A nie przypadkiem do 4000? Zapytania na bazie oracle maja ograniczenie do 4000 znakow, powyzej tego uzywasz bind. Wydaje mi sie ze rowniez taka wielkosc siedzi w ostatnich akcjach.

Nie przeczytałeś uważnie cool.gif pole w widoku v$sql ograniczone jest do 1000 znaków ( przynajmniej do wersji 9i Ent., jest to std. ), tak więc jeśli wykonujesz zapytanie ktore jest wieksze, w tym polu znajdziesz tylko pierwsze 1000 znaków.


Edit: dodatek smile.gif

  1. SELECT sesion.sid sid,
  2. sesion.username username,
  3. sql_text sql_text
  4.  
  5. FROM v$sqltext sqltext, v$session sesion
  6. WHERE sesion.sql_hash_value = sqltext.hash_value AND sesion.sql_address = sqltext.address AND sesion.username IS NOT NULL AND sesion.sid = :sid
  7. ORDER BY sqltext.PIECE


Pogrzebałem chwile i oto prosze, pokazuje całe zapytanie wykonane przez usera. Jako sid podajesz numer sesji. Okazuje się że w v$sqltext jest całem zapytanie podzielone na 64 znakowe cześći winksmiley.jpg
Method
jest jeszcze jedno dobre a dla mnie praktycznie jedyne do oracle narzedzie co sie TOAD zwie smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.