- Czasami użytkownicy mają problemy z wydajnością na różnych stronach aplikacji Oracle Apps. Musimy prześledzić problem, aby zidentyfikować wąskie gardło
- Możemy wykonać poniższe kroki, aby wygenerować ślad na poziomie bazy danych dla problemu i znaleźć winowajcę sql lub instrukcję. Oto jak włączyć śledzenie w aplikacjach oracle r12
Spis treści
Jak uzyskać ślad strony samoobsługowej
(1) Ustaw profil FND:Diagnostyka =Tak na poziomie UŻYTKOWNIKA.
(2) Zaloguj się do osobistej strony głównej jako ten użytkownik i wybierz link Diagnostyka u góry strony.
(3) Wybierz Ustaw poziom śledzenia i kliknij Przejdź.
(4)Wybierz żądany poziom śledzenia i kliknij Zapisz.
(5)Zapisz numery identyfikacyjne śledzenia.
(6)Wykonaj czynność chcesz śledzić.
(7)Wróć do strony „Diagnostyka”.
(8)Wybierz „Ustaw poziom śledzenia” i kliknij przycisk Przejdź.
(9)Wybierz „Wyłącz śledzenie” i kliknij Go.
(10)Zapisz numery identyfikacyjne śledzenia, jeśli są różne.
(11)Przejdź do diagnostics_dest dla swojej bazy danych i zbierz przyrostki nieprzetworzonych plików śledzenia według identyfikatora śledzenia numery, które zarejestrowałeś.
(12)Zamknij aplikacje
Jak włączyć śledzenie formularzy w aplikacjach Oracle r12
(1) Ustaw profil FND:Diagnostyka =Tak na poziomie UŻYTKOWNIKA.
(2) zaloguj się do Aplikacji
(3) Przejdź do formularza, w którym chcesz śledzić
(4) Włącz w śledzeniu za pomocą opcji menu:Strona główna> Diagnostyka> Śledzenie> Śledzenie z oczekiwaniem
(5) Zostanie wyświetlone wyskakujące okienko z nazwą i lokalizacją pliku śledzenia. Zanotuj nazwę pliku śledzenia
(6) Wykonaj działanie, które chcesz śledzić.
(7) Wróć do strony głównej> Diagnostyka> Śledzenie>
(8) Wybierz opcję „Wyłącz śledzenie” i kliknij Idź.
(9) Przejdź do diagnostics_dest dla swojej bazy danych i zbierz przyrostki nieprzetworzonych plików śledzenia według zapisanych numerów identyfikacyjnych śledzenia.
(10) Wyjdź z aplikacji
Jak uzyskać ślad dla programu Oracle Concurrent Program
- Przejdź do ekranu Współbieżny> Program> Zdefiniuj
- Wyszukaj równoczesny program, który chcesz śledzić
- Zaznacz pole Włącz śledzenie, aby włączyć śledzenie dla współbieżnego programu
- Prześlij i uruchom współbieżny program
- Zapisz request_id współbieżnego zadania programu
- Wróć do ekranu Definiuj i usuń zaznaczenie pola Włącz śledzenie dla tego współbieżnego programu
- Pobierz nieprzetworzony plik śledzenia za pomocą identyfikatora żądania
column traceid format a8 column tracename format a80 column user_concurrent_program_name format a40 column execname format a15 column enable_trace format a12 set lines 80 set pages 22 set head off SELECT 'Request id: '||request_id , 'Trace id: '||oracle_Process_id, 'Trace Flag: '||req.enable_trace, 'Trace Name: '||dest.value||'/'||lower(dbnm.value)||'ora'||oracle_process_id||'.trc', 'Prog. Name: '||prog.user_concurrent_program_name, 'File Name: '||execname.execution_file_name|| execname.subroutine_name , 'Status : '||decode(phase_code,'R','Running') ||'-'||decode(status_code,'R','Normal'), 'SID Serial: '||ses.sid||','|| ses.serial#, 'Module : '||ses.module from apps.fnd_concurrent_requests req, v$session ses, v$process proc, v$parameter dest, v$parameter dbnm, apps.fnd_concurrent_programs_vl prog, apps.fnd_executables execname where req.request_id = &request and req.oracle_process_id=proc.spid(+) and proc.addr = ses.paddr(+) and dest.name='user_dump_dest' and dbnm.name='db_name' and req.concurrent_program_id = prog.concurrent_program_id and req.program_application_id = prog.application_id and prog.application_id = execname.application_id and prog.executable_id=execname.executable_id;
jak włączyć śledzenie dla uruchomionego współbieżnego żądania
Uruchom poniższe zapytanie, aby znaleźć identyfikator SPID i SID równoczesnego żądania
col addr format a11 col program format a20 trunc col logon_time format a18 col osuser format a8 heading unixUsr col p_user format a9 heading unixUsr col terminal format a7 heading unixtrm col command format 99 heading Cd col machine format a7 col action format a10 col module format a10 col requestor format a20 col cmgr_job format a38 trunc heading 'CMgr_job' set pagesize 24 Prompt Enter the Concurrent Request ID number: select s.inst_id, fcr.request_id, fv.requestor, fv.Program cmgr_job, p.PID, p.SERIAL#, p.USERNAME p_user, p.SPID, to_char(s.logon_time,'DD-MON-YY HH24:MI:SS') Logon_Time, s.program, s.command, s.sid, s.serial#, s.username, s.process, s.machine, s.action, s.module from apps.fnd_concurrent_requests fcr, apps.FND_CONC_REQ_SUMMARY_V fv, gv$session s, gv$process p where fcr.request_id = &request_id and p.SPID = fcr.oracle_process_id and s.process = fcr.OS_PROCESS_ID and s.inst_id = p.inst_id and p.addr = s.paddr and fv.request_id = fcr.request_id ;
Teraz możesz włączyć śledzenie na SID za pomocą programu oradebug lub DBMS jako
SQL> oradebug setospid 1111 SQL> oradebug event 10046 trace name context forever, level 12 LEVEL 12 – Both Binds and Waits LEVEL 8 – Only WAITS LEVEL 4 – Only BIND Variables SQL>oradebug tracefile_name prod _ora_1111.trc Wait for 15-20 minutes SQL> oradebug event 10046 trace name context off
Korzystanie z programu DBMS
Full level with wait event And bind trace
execute dbms_system.set_ev(‘sid’,’serial’,10046,12,’’);
To put trace off
execute dbms_system.set_ev(‘sid’,’serial’,10046,0,’’);
Jak analizować pliki śledzenia
Po znalezieniu plików śledzenia możemy użyć narzędzia tkprof, aby znaleźć oświadczenie winowajcy z pliku śledzenia
tkprof XPROD_ora_19005_a.trc XPROD_ora_19005_a.txt sys=no explain=apps/apps sort=prsela,exeela,fchela
Powiązane artykuły
Śledzenie SQL :Śledzenie SQL lub zdarzenie 10046 jest używane do śledzenia aktywności sesji w Oracle. Dane wyjściowe generowane przez śledzenie SQL są formatowane za pomocą trcsess, narzędzia tkprof
Autotrace in oracle :Autotrace in oracle, Co to jest autotrace, jak je skonfigurować, Zrozumienie wyników automatycznego śledzenia, Opcje automatycznego śledzenia, statystyki wyświetlane przez autotrace
sql tuning advisor:jak uruchomić sql tuning advisor dla sql_id w pamięci podręcznej kursora, jak jest tworzone i wykonywane zadanie dostrajania sql w celu uzyskania rekomendacji
Hanganalyze:sprawdź, jak wykonać zrzut stanu systemu w Oracle, hanganalyze w Oracle , co to jest v$wait_chains i jak może pomóc znaleźć blokowanie
Jak wygenerować ślad FRD w aplikacjach Oracle:Jak wygenerować ślad diagnostyki środowiska wykonawczego formularzy w aplikacjach Oracle 11i/R12
Często zadawane pytania:Typowe techniki śledzenia w Oracle E-Business Applications 11i i R12 (dokument ID 296559.1)