Śledzenie jest ważną częścią dostrajania bazy danych Oracle. Pomoże to w uchwyceniu wszystkich stwierdzeń problemu , zdarzeń oczekiwania, które są odpowiedzialne za wolne działanie sesji.
Baza danych Oracle zapewnia wiele najszybszych sposobów śledzenia sesji lokalnej, sesji innych użytkowników i formatowania śladu, aby był czytelny
Przyjrzyjmy się, jak włączyć śledzenie SQL, zdarzenie 10046 w bazie danych Oracle i trcsess, narzędzie tkprof
Spis treści
Śledzenie SQL, zdarzenie 100046
Jeśli chcesz śledzić w sesji lokalnej, oto kroki, aby włączyć śledzenie SQL
Normalny ślad zmienić zestaw sesji sql_trace =true; -- Aby umieścić śledzenie naalterzestaw sesji sql_trace =false; -- Aby wyłączyć śledzeniePełny poziom ze zdarzeniem oczekiwania i powiązać ślad alter session set events =„10046 trace name context forever, poziom 12”;Aby wyłączyć śledzenie zdarzeń zestawu sesji =„10046 trace name context off”;To samo, co normalne śledzenie exec DBMS_SESSION.set_sql_trace(sql_trace => PRAWDA);exec DBMS_SESSION.set_sql_trace(sql_trace => FAŁSZ);
Jeśli chcesz śledzić w innej uruchomionej sesji, oto kroki
Normalny ślad wykonaj dbms_system.set_sql_trace_in_session ('sid','serial',true); -- Aby umieścić śledzenie onexecute dbms_system.set_sql_trace_in_session ('sid','serial',true); -- Aby wyłączyć śledzeniePełny poziom ze zdarzeniem oczekiwania i powiązać śledzenie wykonaj dbms_system.set_ev(‘sid’,’serial’,10046,12,’’);Aby odłożyć ślad wykonaj dbms_system.set_ev('sid','serial',10046,0,'');
Musiałeś widzieć użycie 12,0 w różnych powyższych wypowiedziach.Są to poziomy śledzenia.Oracle Tracing ma poziomy śledzenia .Oto prawidłowe wartości
0 | Brak śladu. Jak wyłączenie sql_trace. |
2 | Odpowiednik zwykłego sql_trace Zapewnia ścieżkę wykonania, liczbę wierszy, najmniejszy plik płaski Zalety Zapewnia ścieżkę wykonania Zapewnia liczbę wierszy Tworzy najmniejszy płaski plik Wady Nie można stwierdzić, jakie wartości zostały dostarczone do SQL w czasie wykonywania Jeśli statystyki dla zapytania są niskie, ale czas działania jest długi, nie można powiedzieć, jakie zdarzenia spowodowały długie oczekiwanie |
4 | Tak samo jak 2, ale z dodatkiem wartości zmiennych wiążących Zalety Zapewnia ścieżkę wykonania Zapewnia liczbę wierszy Może powiedzieć, dla jakich wartości została uruchomiona instrukcja Wady Ponownie, jeśli czas działania jest długi, a statystyki są niskie, trudno będzie powiedzieć, dlaczego w tego typu śledzeniu. Tworzy większy plik płaski niż zwykły ślad, ponieważ informacje o zmiennych wiążących muszą być przechowywane. |
8 | To samo co 2, ale z dodatkiem zdarzeń oczekiwania Zwykłe śledzenie oraz czasy operacji bazy danych, na które czekał SQL w celu zakończenia. Na przykład:czasy dostępu do dysku. Zalety Zapewnia ścieżkę wykonania Zapewnia liczbę wierszy Potrafi określić czas dla wszystkich zdarzeń związanych z SQL. Wady Plik śledzenia może łatwo się wyczerpać z powodu wszystkich informacji, które Oracle musi zapisać w pliku śledzenia, a wtedy tylko częściowe informacje są dostępne w pliku śledzenia. Informacje o zmiennej wiążącej nie są dostępne |
12 | To samo co 2, ale z wartościami zmiennych wiążących i zdarzeniami oczekiwania Zwykłe śledzenie z informacjami dotyczącymi zarówno oczekiwania, jak i wiązania. Zawiera najbardziej kompletne informacje i generuje największy plik śledzenia. Zapewnia ścieżkę wykonania Zapewnia liczbę wierszy Potrafi określić czasy wszystkich zdarzeń związanych z SQL. Potrafi określić, jakie wartości SQL został uruchomiony z Zaletami Zapewnia ścieżkę wykonania Zapewnia liczbę wierszy Potrafi określić czasy wszystkich zdarzeń powiązanych z SQL. Potrafi określić, z jakimi wartościami został uruchomiony SQL Wady Plik śledzenia może łatwo przekroczyć limit ze względu na wszystkie informacje, które Oracle musi zapisać do pliku śledzenia, a wtedy tylko częściowe informacje są dostępne w pliku śledzenia. |
Istnieją również inne sposoby śledzenia. Oto niektóre z nich
(1) ORADEBUG
Wymaga logowania jako sysdba
oradebug setospid 1111 — Sesja debugowania z określonym procesem Oracle idoradebug setorapid 1111 --- Sesja debugowania z określonym zdarzeniem Process Processoradebug 10046 śledzenie kontekstu nazwy na zawsze, poziom 4; zdarzenie oradebug 10046 śledzenie nazwy kontekstu wyłączone; --- Powoduje to wyłączenie traceoradebug close_trace --- To zamyka plik śledzenia Oradebug TRACEFILE_NAME;
(2) W Oracle 10g opcje śledzenia SQL zostały rozszerzone za pomocą pakietu DBMS_MONITOR
WYKONAJ dbms_monitor.session_trace_enableKtóry jest podobny ALTER ZESTAW SESJI WYDARZENIA '10046 trace name context na zawsze, poziom 2';WYKONAJ dbms_monitor.session_trace_enable (binds=>true);który jest podobny ALTER SESSION SET EVENTS '10046 trace name contekst na zawsze, poziom 2';;WYKONAJ dbms_monitor.session_trace_enable (czeka=>true);Który jest podobny ZMIEŃ ZESTAW SESJI ZDARZENIA '10046 kontekst nazwy śladu na zawsze, poziom 8';WYKONAJ dbms_monitor.session_trace_enable('sid','serial#')Który system jest podobny 'sid','serial',10046,2,'');WYKONAJ dbms_monitor.session_trace_enable ('sid','serial#',binds=>true);Co jest podobnewykonaj dbms_system.set_ev('sid','serial' ,10046,4,'');WYKONAJ dbms_monitor.session_trace_enable ('sid','serial#',waits=>true);Co jest podobne.execute dbms_system.set_ev('sid','serial',10046,8,'' );
Istnieje wiele innych funkcji dostępnych w dbms_monitor. Możemy włączyć śledzenie na podstawie identyfikatora klienta i na wiele sposobów
Jak zidentyfikować pliki śledzenia
Możemy zidentyfikować pliki śledzenia, korzystając z identyfikatora sesji. Ponadto plik śledzenia będzie zawierał parę sid,serial# na początku pliku śledzenia.
Poniższe zapytanie może posłużyć do znalezienia lokalnego pliku śledzenia sesji
Istnieje inny łatwy sposób na zidentyfikowanie pliku śledzenia, który nazywa się identyfikator śledzenia
zmień zestaw sesji tracefile_identifer='ORAC'; To jest identyfikator
Przykładowy plik śledzenia
Plik śledzenia /app/oracle/TEST/diag/rdbms/test/TEST/trace/TEST_ora_13025_IDEN.trcOracle Database 11g Enterprise Edition wydanie 11.2.0.4.0 — produkcja 64-bitowa Z partycjonowaniem, klastrami Real Application, OLAP, Data Mining i Opcje testowania rzeczywistych aplikacji ORACLE_HOME =/app/oracle/TEST/11.2.0/dbNazwa systemu: SunOS12Nazwa węzła:sun12Release: 5.10Wersja: Generic_144488-11Machine: sun4uInstance name:TESTRedo wątek zamontowany przez tę instancję:1 Numer procesu Oracle:20225x , obraz:[email protected] SunOS12*** 2013-10-21 12:28:56.461*** SESJA ID:(3875.17341) 2013-10-21 12:28:56.461*** KLIENT ID:() 2013 -10-21 12:28:56.461*** NAZWA SERWISU:(TEST) 2013-10-21 12:28:56.461*** NAZWA MODUŁU:(przykł[email protected](TNS V1-V3)) 2013-10 -21 12:28:56.461*** NAZWA AKCJI:() 21.10.2013 12:28:56.461ZAMKNIJ #4:c=0,e=11,dep=1,type=1,tim=8866891135825=====================PARSOWANIE W KURSORZE #5 len=356 dep=1 uid=173 oct=3 lid=173 tim=8866891136821 hv=2468783182 ad='4c70e4398' sqlid='0wmwsjy9kd92f'SELECT PROFILE_OPTION_ID, APPLICATION_ID, SITE_ENABLED_FLAG , APP_ENABLED_FLAG , RESP_ENABLED_FLAG , USER_ENABLED_FLAG, ORG_ENABLED_FLAG , SERVER_ENABLED_FLAG, SERVERRESP_ENABLED_FLAG, HIERARCHY_TYPE, USER_CHANGEABLE_FLAG FROM FND_PROFILE_OPTIONS WHERE PROFILE_OPTION_NAME =:B1 AND START_DATE_ACTIVE <=SYSDATE AND NVL(END_DATE_ACTIVE, SYSDATE)>=SYSDATEEND OF STMTBINDS # 5:Bind#0oacdty=01 mxl=128(80) mxlc=00 mal=00 scl=00 pre=00oacflg=03 fl2=1206001 frm=01 csi=871 siz=128 off=0kxsbbbfp=ffffffff7d677b48 bln=128 avl=21 flg=0value="ID_GRUPY_BIZNESOWEJ"EXEC #5:c=0,e=1474,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=1,plh=1374985481 ,tim=8866891138224FETCH #5:c=0,e=61,p=0,cr=3,cu=0,mis=0,r=1,dep=1,og=1,plh=1374985481,tim=8866891138429ZAMKNIJ #5:c=0,e=5,dep=1,type=3,tim=8866891138503=====================PARSOWANIE W KURSORZE #4 dł=230 dep=1 uid=173 oct=3 lid=173 tim=8866891138634 hv=3575592451 ad='3aeea3da0' sqlid='55dc767ajydh3'SELECT PROFILE_OPTION_VALUE FROM FND_PROFILE_OPTION_VALUES WH ERE PROFILE_OPTION_ID =:B4 AND APPLICATION_ID =:B3 AND LEVEL_ID =10003 AND LEVEL_VALUE =:B2 AND LEVEL_VALUE_APPLICATION_ID =:B1 AND PROFILE_OPTION_VALUE NIE JEST ZEROWE. 00 scl=00 pre=00oacflg=03 fl2=1206001 frm=00 csi=00 siz=96 off=0kxsbbbfp=ffffffff7d677b68 bln=22 avl=03 flg=05value=1204Bind#1oacdty=02 mxl=22(21) mx mal=00 scl=00 pre=00oacflg=03 fl2=1206001 frm=00 csi=00 siz=0 off=24kxsbbbfp=ffffffff7d677b80 bln=22 avl=02 flg=01value=800Bind#2oacdty=02 mxl=22(21) =00 mal=00 scl=00 pre=00oacflg=03 fl2=1206001 frm=00 csi=00 siz=0 off=48kxsbbbfp=ffffffff7d677b98 bln=22 avl=04 flg=01value=50334Bind#3oacdty=02 mxl ) mxlc=00 mal=00 scl=00 pre=00oacflg=03 fl2=1206001 frm=00 csi=00 siz=0 off=72kxsbbbfp=ffffffff7d677bb0 bln=22 avl=01 flg=01value=0EXEC #4:c=0, e=377,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=1,plh=2802907561,tim=8866891138978FETCH #4:c=0,e=26, p=0,cr=3,cu=0,mis=0,r=0,dep=1,og=1,plh=2802907561,tim=886689113 9050CLOSE #4:c=0,e=2,dep=1,type=3,tim=8866891139116==============PARSOWANIE W KURSORZE #5 dł. =191 dep=1 uid=173 oct=3 lid=173 tim=8866891139308 hv=303338305 ad='3bedf0e48' sqlid='7qs7fx89194u1'SELECT PROFILE_OPTION_VALUE FROM FND_PROFILE_OPTION_VALUES WHERE PROFILE_OPTION_ID2 AND PROFILE_ID_ID_ AND_:3:B LEVEL_VALUE =:B1 I PROFILE_OPTION_VALUE NIE JEST NULLEND OF STTMBINDS #5:Bind#0oacdty=02 mxl=22(21) mxlc=00 mal=00 scl=00 pre=00oacflg=03 fl2=1206001 frm=00 csi=00 siz=96 off=0kxsbbbfp=ffffffff7d673b78 bln=22 avl=03 flg=05value=1204Bind#1oacdty=02 mxl=22(21) mxlc=00 mal=00 scl=00 pre=00oacflg=03 fl2=1206001 frm=00 csi siz=0 off=24kxsbbbfp=ffffffff7d673b90 bln=22 avl=02 flg=01value=800Bind#2oacdty=02 mxl=22(21) mxlc=00 mal=00 scl=00 pre=00oacflg=03 fl2=001206001 frm =00 siz=0 off=48kxsbbbfp=ffffffff7d673ba8 bln=22 avl=04 flg=01value=10001
jak sprawdzić, czy śledzenie jest włączone w Oracle
Jeśli włączyłeś śledzenie za pomocą pakietu DBMS_MONITOR, możemy sprawdzić, czy śledzenie jest włączone za pomocą poniższego zapytania
ustaw moduł wierszy 180col dla a45col sql_trace_waits dla a20col sql_trace_binds dla a20col sql_trace dla a20select username,module,sid,sql_trace,sql_trace_waits,sql_trace_binds z v$sesji, gdzie sql_trace= Jeśli jest włączony za pomocą innych metod, jedynym sposobem sprawdzenia jest sprawdzenie lokalizacji śledzenia i znalezienie najnowszych plików śledzenia, a następnie znalezienie w nich identyfikatora sid i serial#, a następnie wykonanie zapytania v$session, aby znaleźć sesję i możesz wyłączyć śledzenie, jeśli chcesz
Narzędzie Oracle tkprof
Pliki śledzenia uzyskane z powyższej metody są w surowej postaci, które można przekonwertować do bardziej czytelnego formatu za pomocą narzędzia tkprof (narzędzie Transient Kernel PROFIle)
tkprofUsage:tkprof tracefile plik wyjściowy [explain=] [table=][print=] [insert=] [sys=] [sort=]table=schema.tablename Użyj „schema.tablename” z opcją „explain=”. explain=użytkownik/hasło Połącz się z ORACLE i wydaj EXPLAIN PLAN.print=integer Lista tylko pierwszych „całkowitych” instrukcji SQL.aggregate=yes|noinsert=filename Lista instrukcji SQL i danych zawartych w instrukcjach INSERT.sys=no TKPROF nie wyświetla SQL instrukcje uruchamiane jako użytkownik SYS.record=filename Zapisuj nierekurencyjne instrukcje znalezione w śledzeniu file.waits=yes|no Podsumowanie rekordów dla wszystkich zdarzeń oczekiwania znalezionych w śledzeniu file.sort=option Ustaw zero lub więcej z następujących opcji sortowania :prscnt liczba razy parsowanie zostało wywołane prscpu czas procesora parsingprsela upłynął czas parsowania prsdsk liczba odczytów dysku podczas parsowania prsqry liczba buforów do spójnego odczytu podczas parseprscu liczba buforów do bieżącego odczytu podczas parseprsmis pamięć podręczna podczas analizowania liczba błędów w bibliotece ecute zostało nazwane execpu czas procesora spędzony na wykonywaniu exeela czas, jaki upłynął podczas wykonywania exedsk liczba odczytów dysku podczas wykonywania exeqry liczba buforów do spójnego odczytu podczas wykonywaniaexecu liczba buforów do bieżącego odczytu podczas wykonywaniaexerow liczba wierszy przetworzonych podczas wykonywaniaexemis liczba chybień w pamięci podręcznej biblioteki podczas wykonywaniafchcnt liczba razy wywoływano pobieranie fchcpu procesor czas spędzony na pobieraniu fchela czas, jaki upłynął, pobieranie fchdsk liczba odczytów dysku podczas pobierania fchfchqry liczba buforów do spójnego odczytu podczas pobieraniaKilka przykładów
tkprof file.trc file.txt sys=no explain=userid/password sort=prsela,exeela,fchelatkprof file.trc file.txt sys=no explain=userid/password sort=prsela,exeela,fchelatkprof file.trc file .txt sys=notkprof file.trc file.txt sys=no explain=identyfikator użytkownika/hasło sort=prsela,exeela,fchelaTen wydruk tylko 10 sql tkprof .trc elaps.prf sys=no explain=apps/ sort=(prsela,exeela,fchela) print=10To drukuje wszystkie sql tkprof .trc elaps.prf sys=no explain=apps/apps sort=prsela,exeela,fchelaPrzykładowa zawartość pliku tkprof
TKPROF:Wersja 11.2.0.4.0 - Produkcja we wtorek 17 stycznia 14:12:41 2013Copyright (c) 1982, 2007, Oracle. Wszelkie prawa zastrzeżone.Plik śledzenia:TEST_ora_15941.trcOpcje sortowania:execpu fchcpu**************************************** ********************************************liczba =liczba OCI procedura została wykonanaCPU =czas procesora w sekundach executingelapsed =czas trwania w sekundach executingdisk =liczba fizycznych odczytów buforów z zapytania dysku =liczba buforów uzyskanych dla spójnego odczytucurrent =liczba buforów uzyskanych w bieżącym trybie (zwykle dla aktualizacji)wiersze =liczba wierszy przetwarzane przez wywołanie pobrania lub wykonania******************************************* ************************************* Identyfikator SQL:6w82ggrtysxPlan Hash:2325776775SELECT FUNCTION_NAME FROM FND_USER_DESKTOP_OBJECTS WHERE USER_ID =:b1 AND APPLICATION_ID =:b2 AND RESPONSIBILITY_ID =:b3 AND TYPE ='FUNCTION' AND ROWNUM <=10 ORDER BY SEQUENCEcall count cpu elapsed disk zapytanie bieżące - - wiersze -------- ---- ---------- ---------- ---------- ---------- ----------Przetwarzaj 1 0.00 0.00 0 0 0 0Wykonaj 1 0.00 0.00 0 0 0 0Pobierz 2 0.00 0.00 ----- 0 0 0 0 0 --- ---------- ---------- ---------- ---------- ------- ---total 4 0.00 0.00 0 4 0 1Brak w pamięci podręcznej biblioteki podczas analizowania:0Tryb optymalizatora:ALL_ROWSParsing user id:173 (APPS)Liczba przechwyconych statystyk planu:1Wiersze (1.) Wiersze (średnio) Wiersze (-maks.) Wiersze źródłowe --------- ---------- ---------- ---------- ------------------------------1 1 1 SORTUJ WEDŁUG (cr=4 pr=0 pw=0 time=0 nas cost=6 size=41 card=1)1 1 1 LICZNIK STOPKEY (cr=4 pr=0 pw=0 time=0 us)1 1 1 DOSTĘP DO TABELI WEDŁUG INDEKSU ROWID FND_USER_DESKTOP_OBJECTS (cr=4 pr=0 pw=0 raz =0 koszt nas=5 rozmiar=41 karta=1)1 1 1 ZAKRES INDEKSÓW S CAN FND_USER_DESKTOP_OBJECTS_N1 (cr=3 pr=0 pw=0 czas=0 koszt w usa=3 rozmiar=0 karta=3)(identyfikator obiektu 33596)Wiersze Plan wykonania -------- --------- -------------------------------0 WYBIERZ INSTRUKCJĘ TRYB:WSZYSTKIE_WIERSZE1 SORTUJ ( ORDER BY)1 LICZBA (STOPKEY)1 TRYB DOSTĘPU DO TABELI TRYB:ANALIZOWANY (WEDŁUG INDEKSU ROWID) OF'FND_USER_DESKTOP_OBJECTS' (TABLE)1 INDEX TRYB:ANALIZOWANY (SKANOWANIE ZAKRESU) OF'FND_USER_DESKTOP_OBJECTS' razy:oczekiwanie na zdarzenia INDEX_N1 Wydarzenie czekało Czasy Max. Oczekiwanie Oczekiwane łącznie ---------------------------------------- O Oczekiwane ------ ---- ------------Wiadomość SQL*Net do klienta 5 0.00 0.00SQL*Wiadomość od klienta 5 0.00 0.00**************** ************************************************** ************** Identyfikator SQL:276ut2ywquxPlan Hash:3856112528select object_name, icon_namefromfnd_desktop_objectscall count cpu elapsed disk zapytanie bieżące wiersze ------- ------ ------ -- ---------- ---------- ---------- ---------- -------- --Parse 1 0,00 0.00 0 0 0 0 0 0 0 0Wykonaj 1 0.00 0.00 0 0 0 0Pobierz 3 0.00 0,00 0 ------ ----------- 6 -- 0 0 0 ----- ---------- ---------- ---------- ----------ogółem 5 0.00 0.00 0 6 0 47Błędy w pamięci podręcznej biblioteki d uring parse:0Tryb optymalizatora:ALL_ROWSParsing identyfikator użytkownika:173 (APPS)Liczba przechwyconych statystyk planu:1Wiersze (1.) Wiersze (średnia) Wiersze (maks.) Operacja źródła wiersza---------- ----- ----- ---------- -------------------------------------------------- ----------------47 47 47 TABLE ACCESS PEŁNY FND_DESKTOP_OBJECTS (cr=6 pr=0 pw=0 time=0 us cost=2 size=1175 card=47)Wiersze Plan realizacji ------- -------------------------------------------- --------0 WYBIERZ INSTRUKCJĘ TRYB:ALL_ROWS47 DOSTĘP DO TABEL TRYB:ANALIZA (PEŁNA) 'FND_DESKTOP_OBJECTS' (TABELA)Oracle trcsess użyteczność
Podczas korzystania z sesji współużytkowanego serwera zaangażowanych jest wiele procesów. Ślad dotyczący sesji użytkownika jest rozproszony w różnych plikach śledzenia należących do różnych procesów. Utrudnia to uzyskanie pełnego obrazu cyklu życia sesji.
Narzędzie trcsess konsoliduje dane wyjściowe śledzenia z wybranych plików śledzenia w oparciu o kilka kryteriówtrcsess [output=output_file_name] [session=session_id] [clientid=client_id] [service=service_name] [action=action_name] [module=module_name] [trace_files]trcsess output=main.trc service=TEST *trcPo wygenerowaniu skonsolidowanego pliku śledzenia możesz uruchomić na nim tkprof.
Więcej informacji
W wersji 11g i nowszych sql_trace jest również zdarzeniem i można je ustawić za pomocą składni zdarzenia:
SQL> oradebug nazwa zdarzenia doc sql_tracesql_trace:zdarzenie dla sql traceUsage -------sql_tracewait,wiąż ,plan_stat ,poziom Możesz więc użyć go w następujący sposób, aby włączyć SQL_TRACE żądanie informacji o wiązaniu:
zmień zdarzenia zestawu sesji „sql_trace bind=true”;lub powiąż i czekaj informacje (uwaga oddzielona przecinkami):
zmień zdarzenia zestawu sesji „sql_trace bind=true, wait=true”;Dalsze śledzenie może być ograniczone do zestawu identyfikatorów SQL_ID, jeśli uwzględnisz dla niego filtr. Np.
zmień zdarzenia zestawu sesji 'sql_trace [sql:sql_id=g3yc1js3g2689 | sql_id=7ujay4u33g337]bind=prawda, czekaj=prawda';10046 poziomów EVENT:(nowe wartości sql_trace są zawarte w [..])
Są to wartości bitowe, które można łączyć, aby uzyskać różne miksy
1 – Włącz standardową funkcjonalność SQL_TRACE (domyślnie)
4 – Jako wartości wiązania śledzenia poziomu 1 PLUS [ bind=true ]
8 – Ponieważ śledzenie poziomu 1 PLUS czeka [wait=true]
Jest to szczególnie przydatne do wykrywania czekania na zatrzask itp.
ale może być również używane do wykrywania pełnych skanów tabel i skanów indeksu.Od 11g dostępne są te dodatkowe poziomy bitowe:
16 – Generuj zrzuty wierszy STAT dla każdego wykonania [ plan_stat=all_executions ]
32 – Nigdy nie zrzucaj statystyk wykonania [ plan_stat=nigdy ]Od 11.2.0.2 dostępny jest ten dodatkowy poziom bitów:
64 – Adaptacyjny zrzut linii STAT. [ plan_stat=adaptive ]
Zrzuca informacje STAT, jeśli wykonanie kodu SQL trwało dłużej niż około 1 minutę,
w ten sposób,
dając informacje o droższych kodach SQL i różnych wykonaniach takich
SQL.Np.:Typowy poziom zdarzenia to 12, który obejmuje standardowe wyjście SQL_TRACE, powiązania, oczekiwania i
domyślne śledzenie linii STAT.Uwagi:
Dumping STAT został poprawiony w 11g tak, że nie są one agregowane we wszystkich egzekucjach, ale są zrzucane po wykonaniu. Zostało to zrobione w celu rozwiązania przypadków, w których kursor nie jest zamknięty i dlatego informacje STAT nie są zrzucane.
Teraz gwarantujemy przechwycenie informacji STAT po wykonaniu. Zobacz powyższe poziomy bitów, aby mieć dokładniejszą kontrolę nad liniami STAT.Też czyta
v$active_session_history
wyjaśnij plan w Oracle
doradcy dostrajania sql