Bonjour a tous,

Ce que je souhaite faire est relativement simple (sauf avec oracle et quand on est pas soi-meme dba

j'aimerai recuperer toutes les requetes executees par un utilisateur (utilise uniquement par une application specifique) pour faire du reengineering de l'application en question (dont je n'ai pas le code et je voudrais savoir ou elle "tappe" dans la base de donnees)

pour faire ca j'ai essayer un trigger :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
Create or replace trigger trigger_webdfe AFTER LOGON ON database
begin
if user = 'webdfe' 
execute immediate 'alter session set sql_trace = true';
end if;
end;
j'obtiens bien un fichier de trace .trc dont le contenu ne me satisfait pas du tout

monfichier.trc
Oracle9i Enterprise Edition Release 9.2.0.4.0 - 64bit Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.4.0 - Production
ORACLE_HOME = /oracle/9i
System name: AIX
Node name: ****
Release: ****
Version: ****
Machine: ****
Instance name: LEOBASE_F
Redo thread mounted by this instance: 1
Oracle process number: 8
Unix process pid: 876686, image: oracle@leo (TNS V1-V3)
*** SESSION ID7.9789) 2005-03-10 16:27:37.276
Skipped error 4098 during the execution of SYSDBA.TRIGGER_WEBDFE
*** 2005-03-10 16:27:37.305
ksedmp: internal or fatal error
ORA-04098
qqun pourrait m'expliquer ou est le probleme ?

j'ai commencer par une commande du style :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
EXECUTE DBMS_SYSTEM.SET_SQL_TRACE_IN_SESION(SID,SERIAL#,BOOLEAN)
mais cela n'est pas utilisable sachant que l'application se deco/reconnecte a chaque requete executee et que donc le serial est incremente a chaque fois et le sid change aussi parfois...

MERCI D'AVANCE POUR VOTRE AIDE !!!!!!!!!!!!!!!!!!!!!!!! ))