Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment activer la trace dans les applications oracle r12

  • 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

  1. Naviguez jusqu'à Simultané > Programme > Définir l'écran
  2. Recherchez le programme simultané que vous souhaitez tracer
  3. Cochez la case Activer la trace pour activer la trace pour le programme simultané
  4. Soumettre et exécuter le programme simultané
  5. Notez le request_id de votre travail de programme simultané
  6. Retournez à l'écran Définir et décochez la case Activer la trace pour ce programme simultané
  7. 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)