Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/03/2007, 20h56   #1
Rédacteur
 
Homme Salim
Développeur et DBA Oracle
Inscription : octobre 2006
Messages : 872
Détails du profil
Informations personnelles :
Nom : Homme Salim
Localisation : Canada

Informations professionnelles :
Activité : Développeur et DBA Oracle

Informations forums :
Inscription : octobre 2006
Messages : 872
Points : 1 100
Points : 1 100
Par défaut Oracle 10g, communication entre deux sessions différentes

Bonjour,

Est ce que c'est possible de communiquer entre deux sessions différentes
avec deux users différents
salim11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2007, 20h58   #2
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
oui.
par exemple avec des variables de package.

que souhaitez-vous faire ?
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2007, 21h38   #3
Rédacteur
 
Homme Salim
Développeur et DBA Oracle
Inscription : octobre 2006
Messages : 872
Détails du profil
Informations personnelles :
Nom : Homme Salim
Localisation : Canada

Informations professionnelles :
Activité : Développeur et DBA Oracle

Informations forums :
Inscription : octobre 2006
Messages : 872
Points : 1 100
Points : 1 100
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) ?
salim11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2007, 07h55   #4
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
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 !
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2007, 13h05   #5
Rédacteur
 
Homme Salim
Développeur et DBA Oracle
Inscription : octobre 2006
Messages : 872
Détails du profil
Informations personnelles :
Nom : Homme Salim
Localisation : Canada

Informations professionnelles :
Activité : Développeur et DBA Oracle

Informations forums :
Inscription : octobre 2006
Messages : 872
Points : 1 100
Points : 1 100
Salut ,

Je te remercie LeoAnderson
salim11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2007, 13h22   #6
Expert Confirmé Sénior


 
Avatar de laurentschneider
 
Homme Laurent Schneider
Administrateur de base de données
Inscription : décembre 2005
Messages : 2 927
Détails du profil
Informations personnelles :
Nom : Homme Laurent Schneider
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Finance

Informations forums :
Inscription : décembre 2005
Messages : 2 927
Points : 4 549
Points : 4 549
en admettant que tu instrumentes correctement ton application

l'utilisateur
Code :
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.
toi le DBA
Code :
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
Et tu décroches ton portable


Un peu trop simple?

Bon, si tu es dans Unix, tu peux toujours faire quelque chose du style :
Code :
1
2
3
4
5
6
 
SQL>  SELECT username,terminal FROM v$session WHERE action LIKE '%loq%';
 
USERNAME TERMINAL
-------- ------------------------------
SCOTT    pts/1
puis en tout que root

Code :
1
2
 
# echo degage tout de suite de mes plates-bandes > /dev/pts/1
ou aussi alter system kill session si t'es vraiment faché!
laurentschneider est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h17.


 
 
 
 
Partenaires

Hébergement Web