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

PL/SQL Oracle Discussion :

Commit sans délock


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 67
    Par défaut Commit sans délock
    Bonjour à tous et merci à la communauté pour son implication.

    Le code est fais de la sorte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Traitements ... 
    COMMIT;
    select for update nowait;
    Traitements ... 
    COMMIT;
    le souci est que, il arrive qu'un autre process fasse un lock juste après le premier "COMMIT;" du coup le "select for update nowait;" échoue et la suite des traitements n'a pas lieu !

    Est-il est possible de faire le COMMIT, mais sans délocker la ressource ?

    1000 merci

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 953
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 953
    Par défaut
    D'après les informations fournies il suffit de ne pas faire le premier commit.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 67
    Par défaut
    Oui, seulement ce n'est pas possible !
    il s'agit de briques indépendantes et complémentaires et dont l'appel n'est pas toujours dans le même ordre.

  4. #4
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 953
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 953
    Par défaut
    Les briques n'ont pas à commit leur traitement, c'est au code qui assemble les briques de faire le travail de validation de la transaction, car lui seul a la vision de la transaction dans son ensemble.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 67
    Par défaut
    Entièrement d'accord. Sauf que c'est historique !
    c'est un projet qui a plus de 15 ans d'age, équipe d'une dizaine de personne.
    personne ne maitrise vraiment tout, et l'étude d'impact (pour virer le premier commit) sera très couteuse, voir impossible à réaliser.

    le plus important pour moi c'est de savoir s'il y a une façon pour parer le problème, ou le contourner ? si vous avez des suggestions je suis preneur.

    Merci beaucoup

  6. #6
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Est-il est possible de faire le COMMIT, mais sans délocker la ressource ?
    Non.

    Citation Envoyé par cyclone_yas Voir le message
    ...

    le plus important pour moi c'est de savoir s'il y a une façon pour parer le problème, ou le contourner ? si vous avez des suggestions je suis preneur.
    Des solutions existent toujours mais, ...
    1° Traitement en base mono-utilisateur
    2° Modifiez le code pour qu'il ne fasse pas le commit dans certaines conditions
    3° Supprimez le nowait
    4° Modifiez le code pour qu'il ré-essaie de verrouiller plus tard les enregistrements
    ...

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

Discussions similaires

  1. [Administration] [svn] interdir les commits sans update
    Par KINENVEU dans le forum Subversion
    Réponses: 0
    Dernier message: 06/09/2012, 12h10
  2. Sql Loader sans commit intermédiaire
    Par Pacman23 dans le forum SQL*Loader
    Réponses: 4
    Dernier message: 29/10/2007, 14h26
  3. [Utilisation] Correction d'une version de production sans commiter la version de dév
    Par arnobidul dans le forum Subversion
    Réponses: 1
    Dernier message: 15/06/2007, 14h23
  4. [Oracle] Fermeture connexion sans COMMIT
    Par rapha51 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 29/03/2007, 17h55
  5. Réponses: 10
    Dernier message: 30/10/2006, 14h44

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