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

Administration Oracle Discussion :

Temporisation pendant verouillage de l'objet matable


Sujet :

Administration Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 9
    Par défaut Temporisation pendant verouillage de l'objet matable
    voila j'ai crée un trigger:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    create or replace trigger montrigger
    before insert on matable
    for each row
    begin
    select masequence.nextval into :new.monidentifiant from dual;
    end;
    l'erreur qui s'affiche est Temporiation pendant verouillage de l'objet matable
    merci à l'avance.

    [Balises code ajoutées par Helyos]

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2003
    Messages : 412
    Par défaut
    Ceci est tout à fait normal car tu fais un select sur la table qui est utilisée dans ton trigger

    Cela n'est pas possible.

    Pense à faire une recherche sur le forum cela à déja été traité.

  3. #3
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Et bien non, on a tout a fait le droit de renseigner une colonne à partir d'une séquence !

    le problème est ailleurs

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    non non Helyos...

    Le probléme ne vient probablement pas du trigger mais de l'insert en lui même qui doit être fait sur une table modifiée dans une autre transaction non commitée

    Il faut vérifier les concurrences d'accés sur la table vie v$locked_object par exemple

    EDIT : oups grillé par Sheik

  5. #5
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2003
    Messages : 412
    Par défaut
    Oups méa culpa j'ai mal lu le code sql désolé

    La réponse de orafrance est la bonne réponse

    Encore une fois désolé

  6. #6
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 9
    Par défaut
    le probléme se passe meme a la suppression des autres triggers.

  7. #7
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 9
    Par défaut
    c vrai ce que dit orafrance j'ai crée avant un trigger qui se declenche dans une table aprés l'exécution d'un insert mais comme la même erreur s'affiche j'ai esseyé de le supprimer mais en vain rien la même erreur s'affiche aidez moi je suis bloquée.

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Voila une requête qui permet de voir quelles sessions bloquent la table :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    select   substr(a.os_user_name,1,8)    "OS User" 
     , substr(a.oracle_username,1,8) "DB User" 
           , substr(b.owner,1,8)  "Schema" 
     , substr(b.object_name,1,20)    "Object Name" 
        , substr(b.object_type,1,10)    "Type" 
        ,a.session_id "SID"
    from v$locked_object      a 
         , all_objects b 
    where   a.object_id =  b.object_id 
    and object_name like '%&1%'
    /

  9. #9
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 9
    Par défaut
    je vais esseye orafrance meci pour l'interet.

  10. #10
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 9
    Par défaut
    j'aimerai bien que tu me renseigne sur les variabes sur cette requete exemple ce que je vais ecrire a la place de os user ou bien je laisse la chose telle quelle est.

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Tu peux laisser comme ça, il y a juste '%&1%' que tu peux remplacer par le nom de la table à vérifier

  12. #12
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 9
    Par défaut
    tu es un ange orafrance je vais esseyer

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut

  14. #14
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 9
    Par défaut
    salut orafrance
    j'ai résolu mon probléme et j'ai su c t koi : une contrainte de cle etrangere (table1,table3), qui bloque alors j'ai supprimer au premier lieu cette contrainte et le trigger sur cette table1, aprés j'ai recrée la contrainte de cle etrangere et le trigger sur l'identifiant dans table2.
    rq: contrainte de cle etrangere existe entre table1 et table3
    un trigger existe déja dans table3 qui déclenche une insertion des lignes dans table1(celle qui bloque).
    une contrainte de cle etrangere existe entre table1 et table2.
    un trigger existe dans la table1 que j'ai supprimer je l'ai crée dan sl'intention de declecher l'affectation de l'identifiant de table2.

    voila j'espere que vous m'avez compris, pour moi le probleme est résolu merci de l'interet que vous m'avez exprimé.

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Effectivement, c'est le type de scénario classique de blocage de table

    Merci de penser au bouton résolu

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

Discussions similaires

  1. L'objet "maTable" est introuvable
    Par Mickael2604 dans le forum Administration
    Réponses: 13
    Dernier message: 25/05/2010, 16h06
  2. Temporisation pendant traitement
    Par Jeff on the web dans le forum Débuter
    Réponses: 14
    Dernier message: 11/03/2008, 14h58
  3. Réponses: 21
    Dernier message: 25/06/2006, 02h31
  4. [POO] Détruire un objet pendant sa construction
    Par raoulchatigre dans le forum Langage
    Réponses: 4
    Dernier message: 23/05/2006, 11h00
  5. Rendre dispo un objet pendant la tt la session
    Par brousaille dans le forum Servlets/JSP
    Réponses: 20
    Dernier message: 18/01/2005, 14h57

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