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 :

gestion des conflits d'acces


Sujet :

Oracle

  1. #1
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 90
    Points : 67
    Points
    67
    Par défaut gestion des conflits d'acces
    salut a tous
    je souhaite savoir
    comment oracle gere les conflits d'accés
    quelle sont les parmetres a configurer
    merci d'avance pour votre aide

  2. #2
    Membre expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Points : 3 597
    Points
    3 597
    Par défaut
    En ce qui concerne le verrouillage des lignes dans un table, Oracle gère les verrous automatiquement pour les lignes concernées pour chaque commande INSERT/UPDATE/DELETE (écrivain). UN SELECT sans clause FOR UPDATE (lecteur) ne prend jamais de verrou sur les lignes sélectionnées. Il n'y a jamais conversion d'un verrou ligne en un verrou table.

    Ce verrouillage automatique peut-être insuffisant lorsqu'on veut vérifier certaines contraintes sur les données et/ou être sûr que des données concernées ne vont pas être modifiées: dans ce cas, il faut utiliser SELECT FOR UPDATE qui va verrouiller toutes les lignes sélectionnées de la table en mode exclusif (comme un écrivain).

    Dans Oracle, les lecteurs ne sont pas bloqués par les écrivains et vice-versa grâce au mécanisme de multiversioning. Par contre un écrivain sera bloqué par un autre écrivain s'il veulent modifier la même ligne dans la même table.

    Les verrous sont libérès au COMMIT ou ROLLBACK et débloquent une transaction en attente sur un des verrous, le cas échéant.

    Les deadlocks sont automatiquement détectés et provoquent une erreur spécifique ORA-00060 avec une fichier trace côté serveur qui donnent les détails ce qui s'est passé. En cas de deadlock, une des instructions SQL qui a provoqué le deadlock est annulée mais la transaction n'est pas annulée

    On peut noter l'option NOWAIT de la clause SELECT FOR UPDATE qui permet de spécifier: si le verrou est déjà pris par quelqu'un d'autre, ne pas attendre la libération du verrou: dans ce cas, le code appelant reçoit immédiatement l'erreur ORA-00054.

    Je ne crois pas qu'il y a du paramètrage pour le verrouillage des lignes dans les tables.

Discussions similaires

  1. Gestion des droits d'accès sur Access 2003
    Par cotmar dans le forum Access
    Réponses: 2
    Dernier message: 04/05/2006, 16h41
  2. [Jbuilder2005] [CVS] gestion des conflits
    Par ptdemon dans le forum JBuilder
    Réponses: 2
    Dernier message: 12/01/2006, 13h34
  3. gestion des droits d'accès : pg_hda.conf et autres
    Par Pigoulou dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 12/02/2005, 07h57
  4. Gestion des droits d'accès
    Par soulryo dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 12/01/2005, 10h50

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