Erp conc manager job status2
Aller à la navigation
Aller à la recherche
| Fiche express | |
|---|---|
| Type | Script SQL*Plus de diagnostic |
| Domaine | ERP |
| Voir aussi | Erp conc manager job status · Erp conc manager user query |
Erp conc manager job status2 est une variante d'Erp conc manager job status
centrée sur la durée d'exécution des jobs concurrents. Elle ne liste que les requêtes en
statut Running (phase_code = 'R') mais calcule pour chacune son
temps d'exécution écoulé (heures/minutes/secondes), le nom du programme concurrent réel, et
la session Oracle associée (SID/serial#) — pratique pour repérer un job qui tourne
anormalement longtemps et retrouver sa session pour investigation (v$session,
v$sql...).
Script
Le calcul de durée (heures / minutes / secondes écoulées) a été réécrit avec
MOD() plutôt que la chaîne de FLOOR() imbriqués du script d'origine
— même résultat, plus lisible.
-- Requêtes concurrentes en cours d'exécution, avec durée écoulée et session associée
SET TERMOUT OFF
COLUMN current_instance NEW_VALUE current_instance NOPRINT
SELECT rpad(instance_name, 17) current_instance FROM v$instance;
SET TERMOUT ON
PROMPT
PROMPT +------------------------------------------------------------------------+
PROMPT | Report : Concurrent Manager Job Status (durées d'exécution) |
PROMPT | Instance : ¤t_instance |
PROMPT +------------------------------------------------------------------------+
SET ECHO OFF
SET FEEDBACK 6
SET HEADING ON
SET LINESIZE 180
SET PAGESIZE 50000
SET TIMING OFF
SET TRIMOUT ON
SET TRIMSPOOL ON
SET VERIFY OFF
CLEAR COLUMNS
CLEAR BREAKS
CLEAR COMPUTES
COLUMN start_time FORMAT a20 HEADING 'Start|Time'
COLUMN program_name FORMAT a50 HEADING 'Program|Name'
COLUMN reqid FORMAT 9999999999 HEADING 'Request|ID'
COLUMN tot_mins FORMAT 9999999 HEADING 'Total|Run-Time|in Mins'
COLUMN hrs FORMAT 99999 HEADING 'Running|Hrs'
COLUMN mins FORMAT 99999 HEADING 'Running|Mins'
COLUMN secs FORMAT 99999 HEADING 'Running|Secs'
COLUMN user_name FORMAT a18 HEADING 'User|Name'
COLUMN oracle_sid FORMAT 99999 HEADING 'Oracle|SID'
COLUMN "serial#" FORMAT 9999999 HEADING 'Serial|#'
COLUMN phase FORMAT a5 HEADING 'Phase|Code'
COLUMN status FORMAT a6 HEADING 'Status|Code'
SELECT
reqid
, start_time
, user_name
, phase
, status
, FLOOR(diff_secs / 3600) hrs
, FLOOR(MOD(diff_secs, 3600) / 60) mins
, ROUND(MOD(diff_secs, 60)) secs
, diff_secs / 60 tot_mins
, program_name
, oracle_sid
, "serial#"
FROM (
SELECT
r.request_id reqid
, TO_CHAR(r.actual_start_date, 'DD-MON-YYYY HH24:MI:SS') start_time
, u.user_name user_name
, r.phase_code phase
, r.status_code status
, (SYSDATE - r.actual_start_date) * 86400 diff_secs
, DECODE( p.user_concurrent_program_name
, 'Request Set Stage', 'RSS - '||r.description
, 'Report Set', 'RS - '||r.description
, p.user_concurrent_program_name ) program_name
, s.sid oracle_sid
, s.serial# "serial#"
FROM
v$session s
, apps.fnd_user u
, apps.fnd_concurrent_processes pr
, apps.fnd_concurrent_programs_vl p
, apps.fnd_concurrent_requests r
WHERE
s.process = pr.os_process_id
AND pr.concurrent_process_id = r.controlling_manager
AND r.phase_code = 'R'
AND r.requested_by = u.user_id
AND p.concurrent_program_id = r.concurrent_program_id
)
ORDER BY
1
/
Voir aussi
- Erp conc manager job status — vue d'ensemble des requêtes en cours/en terminaison
- Erp conc manager user query — vue centrée sur les processus concurrents