- Parfois, les utilisateurs rencontrent des problèmes de performances sur différentes pages de l'application Oracle Apps. Nous devons prendre la trace du problème afin d'identifier le goulot d'étranglement
- Nous pouvons exécuter les étapes ci-dessous pour générer la trace au niveau de la base de données pour le problème et trouver le sql ou l'instruction coupable. Voici comment activer la trace dans les applications oracle r12
Table des matières
- Comment obtenir la trace de la page libre-service
- Comment activer la trace pour les formulaires dans les applications oracle r12
- Comment obtenir la trace pour Oracle Concurrent Program
- comment activer la trace pour une requête simultanée en cours d'exécution
- Comment analyser les fichiers Trace
Comment obtenir la trace de la page libre-service
(1) Définissez le profil FND :Diagnostics =Oui au niveau UTILISATEUR.
(2) Connectez-vous à la page d'accueil personnelle en tant qu'utilisateur et sélectionnez le lien Diagnostics en haut de la page.
(3) Sélectionnez Définissez le niveau de trace et cliquez sur Go.
(4)Sélectionnez le niveau de trace souhaité et cliquez sur Save.
(5)Notez le(s) numéro(s) d'identification de trace.
(6)Effectuez l'activité que vous souhaitez tracer.
(7)Retournez à la page "Diagnostics".
(8)Sélectionnez "Définir le niveau de trace" et cliquez sur Go.
(9)Sélectionnez "Désactiver la trace" et cliquez sur Go.
(10)Notez le(s) numéro(s) d'identifiant de trace s'ils sont différents.
(11)Accédez à diagnostics_dest pour votre base de données et collectez les suffixes des fichiers de trace bruts par l'identifiant de trace numéro(s) que vous avez enregistré(s).
(12)Quitter les applications
Comment activer la trace pour les formulaires dans les applications Oracle r12
(1) Définissez le profil FND :Diagnostics =Oui au niveau UTILISATEUR.
(2) Connectez-vous à l'application
(3) Accédez au formulaire où vous souhaitez tracer
(4) Tournez sur le traçage en utilisant l'option de menu :Accueil> Diagnostics> Trace> Trace avec attente
(5) Une fenêtre contextuelle avec le nom et l'emplacement du fichier de trace s'affiche. Notez le nom du fichier de trace
(6) Effectuez l'activité que vous souhaitez tracer.
(7) Retournez à Accueil> Diagnostics> Trace>
(8) Sélectionnez « Désactiver la trace » et cliquez sur Go.
(9) Accédez à diagnostics_dest pour votre base de données et collectez les suffixes des fichiers de suivi bruts par le ou les numéros d'identification de suivi que vous avez enregistrés.
(10) Quittez les applications
Comment obtenir la trace pour Oracle Concurrent Program
- Naviguez jusqu'à Simultané > Programme > Définir l'écran
- Recherchez le programme simultané que vous souhaitez tracer
- Cochez la case Activer la trace pour activer la trace pour le programme simultané
- Soumettre et exécuter le programme simultané
- Notez le request_id de votre travail de programme simultané
- Retournez à l'écran Définir et décochez la case Activer la trace pour ce programme simultané
- Récupérer le fichier de trace brut à l'aide de request_id
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;
comment activer la trace pour une requête simultanée en cours d'exécution
Exécutez la requête ci-dessous pour trouver le SPID et le SID de la demande simultanée
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 ;
Vous pouvez maintenant activer la trace sur le SID en utilisant oradebug ou le programme DBMS comme
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
Utilisation du programme SGBD
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,’’);
Comment analyser les fichiers Trace
Une fois les fichiers de trace trouvés, nous pouvons utiliser l'utilitaire tkprof pour trouver la déclaration coupable à partir du fichier de trace
tkprof XPROD_ora_19005_a.trc XPROD_ora_19005_a.txt sys=no explain=apps/apps sort=prsela,exeela,fchela
Articles connexes
Trace SQL :la trace SQL ou l'événement 10046 est utilisé pour suivre l'activité de la session dans Oracle. La sortie générée par la trace SQL est formatée à l'aide de l'utilitaire trcsess, tkprof conseiller de réglage sql :comment exécuter le conseiller de réglage sql pour sql_id dans le cache du curseur, comment la tâche de réglage sql est-elle créée et exécutée pour obtenir la recommandation ? , qu'est-ce que v$wait_chains et comment il peut aider à trouver le blocage
Comment générer une trace FRD dans Oracle Apps :Comment générer une trace de diagnostics d'exécution Forms dans les applications oracle 11i/R12
FAQ :Techniques de traçage courantes dans Oracle E-Business Applications 11i et R12 (Doc ID 296559.1)