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 :

comment savoir si une table est lockée par un user


Sujet :

Oracle

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2006
    Messages : 102
    Points : 36
    Points
    36
    Par défaut comment savoir si une table est lockée par un user
    je savoir c'est quoi la requete qui me permet de savoir :

    si une table :tab1 est lockée et par quel SID
    merci

  2. #2
    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

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2006
    Messages : 102
    Points : 36
    Points
    36
    Par défaut
    est ce que ca marche si je fais un test sur le resultat de cette requete pour controler les updates sur la table concernée. voila la requete.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT session_id , oracle_username , os_user_name
      FROM V$LOCKED_OBJECT VLO INNER JOIN dba_objects DO ON VLO.object_id = DO.object_id
     WHERE object_name = 'object_name'
       AND owner = 'owner';
    si oui,comment chaque user peut detecter si un autre est sur cette table la.
    merci

  4. #4
    Membre expérimenté Avatar de fatsora
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 103
    Points : 1 332
    Points
    1 332
    Par défaut
    Citation Envoyé par zinabd Voir le message
    est ce que ca marche si je fais un test sur le resultat de cette requete pour controler les updates sur la table concernée. voila la requete.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT session_id , oracle_username , os_user_name
      FROM V$LOCKED_OBJECT VLO INNER JOIN dba_objects DO ON VLO.object_id = DO.object_id
     WHERE object_name = 'object_name'
       AND owner = 'owner';
    si oui,comment chaque user peut detecter si un autre est sur cette table la.
    merci
    Bonjour,

    Pour les locks,

    c'est le DBA et ceux a qui on a donné les droits sur le dictionnaire qui peuvent le voir ....

    asktom.oracle.com tahiti.oracle.com otn.oracle.com

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.


    phrase chinoise issue du Huainanzi

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2006
    Messages : 102
    Points : 36
    Points
    36
    Par défaut
    Citation Envoyé par fatsora Voir le message
    Bonjour,

    Pour les locks,

    c'est le DBA et ceux a qui on a donné les droits sur le dictionnaire qui peuvent le voir ....

    oui mais avez vous une idée de ce que je dois faire dans mon cas, car c'est un verouillage temporaire d'une table dependant c'est qui a accedé a l'ecran le premier, alors je ne pense pas introduire la job du DBA la de dans.
    vloila mon probleme :

    J'ai un ecran basé sur une table de travail, quand l'utilisateur clique sur save les données presentes sur la table du travail sont enregistré dans une autre table finale.
    tab1: table de travail
    tab2: table des données finales
    le probleme: quand deux utilisateurs sont sont sur le meme ecran la table de travail (tab1) est lockée par oracle,mais je dois locker aussi la table tab2
    (qui apparement n'est pas lockée car les deux utilsateur peuvent ecraser les données de l'un et l'autre meme si les deux sont sur un meme ecran) pour que un seul (1er) puisse faire le Update sur la table finale(tab2).

    je veux savoir comment faire ca, je travaille avec :

    designer 6i et pl/sql 8.0.2.

    ********************
    moi j'ai utilsé la commande pour verouiller la table tab2 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LOCK TABLE dpl_mkt_price_fret IN EXCLUSIVE MODE;
    mais ca ne donne rien car les deux user sont toujours capables de faire des updates au meme temps.

    et merci

Discussions similaires

  1. Réponses: 2
    Dernier message: 04/08/2007, 08h27
  2. comment savoir si une colonne est primary key d'une table?
    Par vinczente dans le forum Administration
    Réponses: 4
    Dernier message: 13/05/2007, 21h23
  3. Réponses: 6
    Dernier message: 01/07/2005, 15h06
  4. Comment savoir si une variable est initialisée ?
    Par nabix dans le forum Général Python
    Réponses: 8
    Dernier message: 10/03/2005, 15h12
  5. Comment savoir qu'une fonction est standard ?
    Par D[r]eadLock dans le forum C
    Réponses: 5
    Dernier message: 24/03/2003, 14h42

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