sql >> Database >  >> RDS >> Oracle

Hoe om te gaan met gelijktijdige invoegingen in DB die een overtreding van een regel voor de records in de database veroorzaken?

Het probleem dat je beschrijft heet Write Skew.

In principe zorgt SERIALIZEABLE transactie-isolatie hiervoor, maar niet in Oracle DB . Oracle biedt alleen snapshot-isolatie, zelfs als u om SERIALIZABLE vraagt.

In Oracle is vrijwel de enige betrouwbare oplossing het gebruik van een soort vergrendeling. Dit hoeft niet per se een vergrendeling op een tabelrij te zijn, daarvoor kunt u ook adviserende vergrendelingen gebruiken via DBMS_LOCK.




  1. GUI-tool voor PostgreSQL

  2. MySQL-draaitabel met java

  3. SQL/Postgres datetime divisie / normaliseren

  4. Hoe MySQL-resultaten sorteren met letters eerst, symbolen als laatste?