sql >> Base de Datos >  >> RDS >> Oracle

Cómo habilitar el seguimiento en las aplicaciones de Oracle r12

  • A veces, los usuarios tienen problemas de rendimiento durante varias páginas en la aplicación Oracle Apps. Necesitamos tomar el rastro del problema para identificar el cuello de botella
  • Podemos ejecutar los pasos a continuación para generar el seguimiento a nivel de la base de datos para el problema y descubrir el sql o la declaración culpable. Aquí se explica cómo habilitar el seguimiento en las aplicaciones de Oracle r12

Índice

  • Cómo obtener el seguimiento de la página de autoservicio
  • Cómo habilitar el seguimiento de formularios en Oracle Apps r12
  • Cómo obtener el seguimiento del programa concurrente de Oracle
  • cómo habilitar el rastreo para una solicitud concurrente en ejecución
  • Cómo analizar los archivos de rastreo

Cómo obtener el seguimiento de la página de autoservicio

(1) Establezca el perfil FND:Diagnóstico =Sí a nivel de USUARIO.
(2) Inicie sesión en la página de inicio personal como ese usuario y seleccione el enlace Diagnóstico en la parte superior de la página.
(3) Seleccione Establezca el nivel de seguimiento y haga clic en Ir.
(4)Seleccione el nivel de seguimiento deseado y haga clic en Guardar.
(5)Escriba los números de identificación del seguimiento.
(6)Realice la actividad que desea rastrear.
(7)Vuelva a la página 'Diagnóstico'.
(8)Seleccione 'Establecer nivel de rastreo' y haga clic en Ir.
(9)Seleccione 'Deshabilitar rastreo' y haga clic en Ir.
(10) Escriba los números de identificación de rastreo si son diferentes.
(11) Vaya a diagnostics_dest para su base de datos y recopile los sufijos del archivo de rastreo sin procesar por la identificación de rastreo número(s) que ha registrado.
(12)Salir de Aplicaciones

Cómo habilitar el seguimiento de formularios en las aplicaciones de Oracle r12

(1) Configure el perfil FND:Diagnóstico =Sí a nivel de USUARIO.
(2) Inicie sesión en la Aplicación
(3) Navegue hasta el formulario donde desea rastrear
(4) Gire en Rastreo usando la opción de menú:Inicio> Diagnósticos> Rastreo> Rastreo con esperas
(5) Aparece una ventana emergente con el nombre y la ubicación del archivo de rastreo. Anote el nombre del archivo de rastreo
(6) Realice la actividad que desea rastrear.
(7) Vuelva a Inicio> Diagnóstico> Rastrear>
(8) Seleccione 'Desactivar rastreo' y haga clic en Ir.
(9) Vaya a diagnostics_dest para su base de datos y recopile los sufijos de los archivos de seguimiento sin procesar por los números de identificación de seguimiento que ha registrado.
(10) Salga de Aplicaciones

Cómo obtener el seguimiento del programa concurrente de Oracle

  1. Navegue a Concurrente> Programa> Definir pantalla
  2. Busque el programa simultáneo que desea rastrear
  3. Marque la casilla Habilitar seguimiento para activar el seguimiento del programa simultáneo
  4. Envíe y ejecute el programa concurrente
  5. Escribe el request_id de tu trabajo de programa simultáneo
  6. Vuelva a la pantalla Definir y desmarque la casilla Habilitar rastreo para este programa concurrente
  7. Recupere el archivo de seguimiento sin procesar mediante 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;

cómo habilitar el rastreo para una solicitud concurrente en ejecución

Ejecute la siguiente consulta para encontrar el SPID y el SID de la solicitud simultánea

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
;

Ahora puede habilitar el rastreo en el SID usando oradebug o el programa DBMS como

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

Usando el programa 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,’’);

Cómo analizar los archivos de seguimiento

Una vez que se encuentran los archivos de rastreo, podemos usar la utilidad tkprof para encontrar la declaración culpable del archivo de rastreo

tkprof XPROD_ora_19005_a.trc XPROD_ora_19005_a.txt sys=no explain=apps/apps sort=prsela,exeela,fchela

Artículos relacionados
Rastreo de SQL:el rastreo de SQL o el evento 10046 se utiliza para rastrear la actividad de la sesión en Oracle. El resultado generado por el rastreo de SQL se formatea usando trcsess, la utilidad tkprof
Autotrace en Oracle:Autotrace en Oracle, Qué es el autotrace, cómo configurarlo, Comprender el resultado de Autotrace, Opciones de Autotrace, estadísticas mostradas por autotrace
asesor de ajuste de sql:cómo ejecutar el asesor de ajuste de sql para sql_id en la memoria caché del cursor, cómo se crea y ejecuta la tarea de ajuste de sql para obtener la recomendación , qué es v$wait_chains y cómo puede ayudar a encontrar el bloqueo. en Oracle E-Business Applications 11i y R12 (ID de documento 296559.1)