Imprimer les paramètres d'une autre session?

Pour expliquer certains comportements, il est utile de connaitre les paramètres qui ont été modifiés dans une session. la commande oradebug dump modified_parameters 1 force la session à enregistrer les paramètres dans son fichier de trace;

Voici un exemple d’utilisation. D’abord, créez une première session dans laquelle, vous modifierez quelques paramètres; dans le réalité, il vous faudra déterminer la session ou le process qui vous intéresse:

select sys_context('userenv', 'sid') sid
from dual;

SID
----
111

alter session set events '10053 trace name context forever, level 1';
alter session set global_name=false;
alter session set "_gby_hash_aggregation_enabled"=false;

pause

Connectez-vous avec une autre session, sous SYS; vérifiez le SPID du process correspondant et utilisez oradebug pour attacher le process et enregistrer les paramètres:

sqlplus / as sysdba

select s.sid, p.spid, p.tracefile
from v$session s, v$process p
where s.paddr=p.addr
and s.sid=111;

SID SPID
---------- ------------------------
TRACEFILE
----------------------------------------------------------------
111 23682
/u01/app/oracle/diag/rdbms/black/BLACK/trace/BLACK_ora_23682.trc

oradebug setospid 23682;
Oracle pid: 18, Unix process pid: 23682, image: oracle@arkzoyd-laptop (TNS V1-V3)

oradebug dump modified_parameters 1;
Statement processed.

!tail -100 /u01/app/oracle/diag/rdbms/black/BLACK/trace/BLACK_ora_23682.trc

[...]
*** 2009-04-13 23:07:40.034
Processing Oradebug command 'dump modified_parameters 1'
DYNAMICALLY MODIFIED PARAMETERS:
db_file_multiblock_read_count= 4
global_names = FALSE
_gby_hash_aggregation_enabled= FALSE

*** 2009-04-13 23:07:40.035
Oradebug command 'dump modified_parameters 1' console output: <none>

Vous remarquez au passage que les events positionnés dans la session ne sont pas affichés.

2 réflexions sur “Imprimer les paramètres d'une autre session?”

  1. J’ai du mal à croire que tu ne puisses le faire qu’avec un trigger on-logon puisque les paramètres NLS ont un impact sur les plans et la stabilité des cursors. En outre, les valeurs au début ne sont pas les valeurs par la suite (alter session)

    Cela dit, le besoin est importants et, j’ai du mal à croire que des outils comme SQL Test Case Builder, SQL Tuning Set ou Performance Analyzer ne capturent pas ces infos. Cela dit, mes quelques recherches arrivent aux mêmes conclusions que toi pour l’instant. Cela ne veut pas dire que j’en resterai là.

  2. Salut,

    Seulement les paramètres en relation avec l’optimisateur semble être extraits.

    Connais-tu une façon de « dumper » tous les paramètres tels que les NLS_…

    A+

Les commentaires sont fermés.