En PL/SQL
exec sys.dbms_session.set_identifier ('identifiant de session') exec sys.dbms_application_info.set_client_info('info client') exec sys.dbms_application_info.set_module ('module', 'action')
Eventuellement, si l’on veut ne changer que l’action
exec sys.dbms_application_info.set_action('action')
En PHP
<?php oci_set_client_identifier($db , 'identifiant de session'); oci_set_client_info ($db , 'info client'); oci_set_module_name ($db , 'module'); oci_set_action ($db , 'action'); ?>
Retrouver ces informations
select sys_context('USERENV', 'CLIENT_IDENTIFIER') as "client identifier" , sys_context('USERENV', 'CLIENT_INFO') as "client info" , sys_context('USERENV', 'MODULE') as module , sys_context('USERENV', 'ACTION') as action from sys.dual ;
Avec un peu de mise en forme
SQL> col "client identifier" for a25 SQL> col "client info" for a17 SQL> col module for a17 SQL> col action for a17 SQL> / client identifier client info MODULE ACTION ------------------------- ----------------- ----------------- ----------------- identifiant de session info client module action
C’était pourtant pas si compliqué
PS: On peut aussi le faire en java ou en .Net si tant est qu’on utilise encore des trucs aussi dépassés ou encore en C via la bibliothèque OCI1 si l’on est résolument moderne. Tout cela est détaillé dans l’excellent Troubleshooting Oracle Performance de Christian Antognini paru chez APress au chapitre 2 pages 45 à 48. Et de manière plus cryptique et éparpillée dans la documentation de l’éditeur.
1. OCI pour Oracle Call Interface, livré par Oracle avec tous les “clients”