Oracle
 sql >> Base de données >  >> RDS >> Oracle

Oracle - Comment Oracle gère-t-il les instructions DML spécifiques aux transactions

Oracle crée un index pour appliquer la contrainte de clé primaire (un index unique par défaut). Lorsque la session A insère la première ligne, la structure de l'index est mise à jour mais la modification n'est pas validée. Lorsque la session B essaie d'insérer la deuxième ligne, l'opération de maintenance d'index note qu'il existe déjà une entrée en attente dans l'index avec cette clé particulière. La session B ne peut pas acquérir le verrou qui protège la structure d'index partagé, elle se bloquera donc jusqu'à ce que la transaction de la session A soit terminée. À ce stade, la session B pourra soit acquérir le verrou et apporter sa propre modification à l'index (parce que A a été annulé), soit remarquer que l'autre entrée a été validée et lancera une violation de contrainte unique (parce que A a commis ).