Oracle
 sql >> Datenbank >  >> RDS >> Oracle

So aktivieren Sie Trace in Oracle-Apps r12

  • 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

  1. Navigieren Sie zu Concurrent> Programm> Bildschirm definieren
  2. Suchen Sie nach dem gleichzeitigen Programm, das Sie verfolgen möchten
  3. Aktivieren Sie das Kontrollkästchen Trace aktivieren, um die Ablaufverfolgung für das gleichzeitige Programm zu aktivieren
  4. Senden Sie das gleichzeitige Programm und führen Sie es aus
  5. Notieren Sie sich die request_id Ihres gleichzeitigen Programmjobs
  6. Gehen Sie zurück zum Bildschirm "Definieren" und deaktivieren Sie das Kontrollkästchen "Nachverfolgung aktivieren" für dieses gleichzeitige Programm
  7. 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

aktivieren
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

Verwendung des DBMS-Programms

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,’’);
aus

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)