Sess user trace file location
| Fiche express | |
|---|---|
| Type | Script SQL*Plus de diagnostic (Sessions) |
| Voir aussi | Sess users |
Sess user trace file location calcule le chemin et le nom exacts du fichier trace
que produirait la session courante (par exemple après un ALTER SESSION SET
SQL_TRACE=TRUE) — pratique pour retrouver immédiatement le bon fichier sans avoir à
trier un répertoire par date/PID.
Contexte version : le script s'appuie sur le paramètre historique
user_dump_dest. Depuis Oracle 11g, l'emplacement réel des traces est piloté par
lAutomatic Diagnostic Repository (ADR, paramètre diagnostic_dest), sous
<diagnostic_dest>/diag/rdbms/<db_unique_name>/<instance>/trace/ —
Oracle maintient user_dump_dest en alias de compatibilité pointant vers ce même
répertoire, donc le script reste valide, mais la convention de nommage du fichier
(<instance>_ora_<pid>.trc) est celle imposée par l'ADR, pas
directement configurable.
Script
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 : User Session Trace File Location |
PROMPT | Instance : ¤t_instance |
PROMPT +------------------------------------------------------------------------+
SET LINESIZE 180
SET PAGESIZE 50000
CLEAR COLUMNS
CLEAR BREAKS
CLEAR COMPUTES
COLUMN "Trace File Path" FORMAT a80 HEADING 'Your trace file with path is:'
SELECT
a.trace_path || ' > ' || b.trace_file "Trace File Path"
FROM
(SELECT value trace_path
FROM v$parameter
WHERE name = 'user_dump_dest') a
, (SELECT c.instance || '_ora_' || spid || '.trc' trace_file
FROM v$process, (SELECT LOWER(instance_name) instance FROM v$instance) c
WHERE addr = (SELECT paddr
FROM v$session
WHERE (audsid, sid) = (SELECT SYS_CONTEXT('USERENV', 'SESSIONID')
, SYS_CONTEXT('USERENV', 'SID')
FROM dual)
)
) b
/
Voir aussi
- Sess users — retrouver le SID/PID d'une session tierce à tracer