Bonjour,
Est ce que c'est possible de communiquer entre deux sessions différentes
avec deux users différents
Version imprimable
Bonjour,
Est ce que c'est possible de communiquer entre deux sessions différentes
avec deux users différents
oui.
par exemple avec des variables de package.
que souhaitez-vous faire ?
salut,
par exemple quand un user dans une session lock données, est ce que c'est possible de connaitre lca session et de communiquer avec lui ( user) ?
Connaitre la session, oui : v$lock, dba_waiters, dba_blockers, ...
Communiquer avec lui pour lui dire "et oh, mec, commit ou rollback, mais fait quelque chose, tu nous les brises" non, pas d'un point de vue Oracle.
Surtout que la session peut-être une session SQL*Plus, Web, liée à des opérations de maintenance sur la table, un job, ...
Enfin, le package DBMS_PIPE le permet, mais c'est pas trivial et surtout faut que les deux sessions soit "conçues" pour communiquer avec pipe !
Salut ,
Je te remercie LeoAnderson
en admettant que tu instrumentes correctement ton application
l'utilisateur
toi le DBACode:
1
2
3
4
5
6
7
8 SQL> exec dbms_application_info.SET_ACTION('Je loque a tout vent') PL/SQL procedure successfully completed. SQL> exec dbms_application_info.SET_CLIENT_INFO('Mon telephone est le 01 23 45 67') PL/SQL procedure successfully completed.
Et tu décroches ton portableCode:
1
2
3
4
5
6 SQL> select username,client_info,action from v$session where action like '%loq%'; USERNAME CLIENT_INFO ACTION -------- -------------------------------- -------------------------------- SCOTT Mon telephone est le 01 23 45 67 Je loque a tout vent
Un peu trop simple?
Bon, si tu es dans Unix, tu peux toujours faire quelque chose du style :
puis en tout que rootCode:
1
2
3
4
5
6 SQL> select username,terminal from v$session where action like '%loq%'; USERNAME TERMINAL -------- ------------------------------ SCOTT pts/1
ou aussi alter system kill session si t'es vraiment faché!Code:
1
2# echo degage tout de suite de mes plates-bandes > /dev/pts/1