IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Oracle Discussion :

Detecter le statut d'une session (commit ou pas)


Sujet :

Oracle

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    344
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 344
    Points : 188
    Points
    188
    Par défaut Detecter le statut d'une session (commit ou pas)
    Bonjour

    Un developpeur (via AGL Uniface mais ca change rien) me pose une colle : il y a t'il un moyen de detecter le statut d'une session Oracle, cad savoir si des modifs de données non commitées ont été faites ?

    Merci
    Loko

  2. #2
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    Il suffit de regarder dans v$transaction et v$session :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select S.Machine, ...
     from v$session S, v$transaction T
    where S.saddr = T.Ses_Addr;

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    344
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 344
    Points : 188
    Points
    188
    Par défaut
    Bonjour CoucouCestMoi.

    Ca me repond gentiment qu'il ne trouve aucune des 2 tables ... (?).

    (je suis en 9i).

  4. #4
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    ce sont deux vues du schéma SYS.

    Elles existent obligatoirement mais vous ne devez pas avoir les droits pour y accéder...

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    344
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 344
    Points : 188
    Points
    188
    Par défaut
    Merci, c'est ca !

    Et une question subsidiaire : pour filtrer dans la table et ne tester que pour la session en cours, comment faire ? Comment rajouter une clause where qui filtre v$session pour ne tester que la session en cours (y'a surement une adresse de session à recuperer avec dual, mais je sais pas le nom de la valeur)

  6. #6
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select S.Machine, ...
     from v$session S, v$transaction T
    where S.saddr = T.Ses_Addr
      and S.AUDSID = (select userEnv('SESSIONID') from dual);

  7. #7
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    c'est plus simple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select S.Machine, ...
     from v$session S, v$transaction T
    where S.saddr = T.Ses_Addr
      and S.AUDSID = userEnv('SESSIONID');

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    344
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 344
    Points : 188
    Points
    188
    Par défaut
    Ok, merci bcp à tous !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 06/06/2008, 14h09
  2. Statut d'une session TSE sous Oracle
    Par Maglight dans le forum Administration
    Réponses: 3
    Dernier message: 03/09/2007, 08h46
  3. Réponses: 8
    Dernier message: 21/06/2006, 14h43
  4. Réponses: 7
    Dernier message: 12/10/2005, 09h19
  5. Réponses: 2
    Dernier message: 07/09/2005, 16h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo