- Manchmal bekommen Benutzer auf verschiedenen Seiten in der Oracle Apps-Anwendung Leistungsprobleme. Wir müssen dem Problem auf die Spur kommen, um den Engpass zu identifizieren
- Wir können die folgenden Schritte ausführen, um die Ablaufverfolgung auf Datenbankebene für das Problem zu generieren und die schuldige SQL oder Anweisung herauszufinden. So aktivieren Sie Trace in Oracle Apps r12
Inhaltsverzeichnis
So erhalten Sie die Ablaufverfolgung für die Self-Service-Seite
(1) Stellen Sie Profil FND:Diagnose =Ja auf BENUTZER-Ebene ein.
(2) Melden Sie sich als dieser Benutzer auf der persönlichen Homepage an und wählen Sie den Diagnose-Link oben auf der Seite.
(3) Wählen Sie Legen Sie die Ablaufverfolgungsebene fest und klicken Sie auf Los.
(4)Wählen Sie die gewünschte Ablaufverfolgungsebene aus und klicken Sie auf Speichern.
(5)Schreiben Sie die Ablaufverfolgungs-ID(s) auf.
(6)Führen Sie die Aktivität aus die Sie verfolgen möchten.
(7)Kehren Sie zur Seite „Diagnose“ zurück.
(8)Wählen Sie „Set Trace Level“ und klicken Sie auf „Los“.
(9)Wählen Sie „Disable Trace“. und klicken Sie auf Go.
(10)Notieren Sie sich die Trace-ID-Nummer(n), falls abweichend.
(11)Gehen Sie zu diagnostics_dest für Ihre Datenbank und erfassen Sie die Suffixe der Raw-Trace-Datei(en) nach Trace-ID Nummer(n), die Sie aufgezeichnet haben.
(12)Anwendungen beenden
So aktivieren Sie Trace für Formulare in Oracle Apps r12
(1) Profil FND:Diagnose =Ja auf BENUTZER-Ebene einstellen.
(2) bei der Anwendung anmelden
(3) Navigieren Sie zu dem Formular, in dem Sie nachverfolgen möchten
(4) Biegen Sie ab on Tracing mit der Menüoption:Home> Diagnostics> Trace> Trace with waits
(5) Ein Pop-up mit dem Namen und Speicherort der Trace-Datei wird angezeigt. Notieren Sie sich den Namen der Trace-Datei
(6) Führen Sie die Aktivität aus, die Sie verfolgen möchten.
(7) Gehen Sie zurück zu Home> Diagnostics> Trace>
(8) Wählen Sie „Trace deaktivieren“ und klicken Sie darauf Gehe zu.
(9) Gehe zu diagnostics_dest für deine Datenbank und sammle die Suffixe der Raw-Trace-Datei(en) nach der/den aufgezeichneten Trace-ID-Nummer(n).
(10) Beende Anwendungen
So erhalten Sie den Trace für das Oracle Concurrent Program
- Navigieren Sie zu Concurrent> Programm> Bildschirm definieren
- Suchen Sie nach dem gleichzeitigen Programm, das Sie verfolgen möchten
- Aktivieren Sie das Kontrollkästchen Trace aktivieren, um die Ablaufverfolgung für das gleichzeitige Programm zu aktivieren
- Senden Sie das gleichzeitige Programm und führen Sie es aus
- Notieren Sie sich die request_id Ihres gleichzeitigen Programmjobs
- Gehen Sie zurück zum Bildschirm "Definieren" und deaktivieren Sie das Kontrollkästchen "Nachverfolgung aktivieren" für dieses gleichzeitige Programm
- Rufen Sie die rohe Ablaufverfolgungsdatei mit der Anforderungs-ID ab
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;
wie man Trace für eine laufende gleichzeitige Anfrage aktiviert
Führen Sie die folgende Abfrage aus, um SPID und SID der gleichzeitigen Anfrage zu finden
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 ;
Jetzt können Sie die Ablaufverfolgung auf der SID mit oradebug oder dem DBMS-Programm als
aktivierenSQL> 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
Verwendung des DBMS-Programms
Full level with wait event And bind traceaus
execute dbms_system.set_ev(‘sid’,’serial’,10046,12,’’);
To put trace off
execute dbms_system.set_ev(‘sid’,’serial’,10046,0,’’);
Analysieren der Trace-Dateien
Sobald die Ablaufverfolgungsdateien gefunden wurden, können wir das Dienstprogramm tkprof verwenden, um die Täteraussage in der Ablaufverfolgungsdatei zu finden
tkprof XPROD_ora_19005_a.trc XPROD_ora_19005_a.txt sys=no explain=apps/apps sort=prsela,exeela,fchela
Verwandte Artikel
SQL-Trace :SQL-Trace oder 10046-Ereignis wird verwendet, um die Sitzungsaktivität in Oracle zu verfolgen. Die vom SQL-Trace generierte Ausgabe wird mit trcsess, dem Dienstprogramm tkprof formatiert SQL Tuning Advisor:So führen Sie den SQL Tuning Advisor für sql_id im Cursor-Cache aus. Wie wird die SQL Tuning-Aufgabe erstellt und ausgeführt, um die Empfehlung zu erhalten? , was ist v$wait_chains und wie kann es dabei helfen, die Blockierung zu finden
Generieren von FRD-Trace in Oracle Apps:Generieren von Forms Runtime Diagnostics Trace in Oracle Apps 11i/R12
FAQ:Common Tracing Techniques in Oracle E-Business-Anwendungen 11i und R12 (Doc ID 296559.1)