Oracle
 sql >> база данни >  >> RDS >> Oracle

Oracle - Как Oracle управлява конкретни DML отчети за транзакции

Oracle създава индекс, за да наложи ограничението на първичния ключ (уникален индекс по подразбиране). Когато сесия A вмъкне първия ред, структурата на индекса се актуализира, но промяната не се извършва. Когато сесия B се опита да вмъкне втория ред, операцията за поддръжка на индекс отбелязва, че вече има чакащ запис в индекса с този конкретен ключ. Сесия B не може да придобие ключалката, която защитава структурата на споделения индекс, така че ще блокира, докато транзакцията на сесия A не завърши. В този момент сесия B или ще може да придобие ключалката и да направи своя собствена модификация на индекса (тъй като A е върнал назад), или ще отбележи, че другият запис е бил ангажиран и ще хвърли уникално нарушение на ограничението (тъй като A е извършил ).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Хибернация на диалект за Oracle Database 11g?

  2. Преобразуването на низ в Дата и повдигането на изключение, когато даден низ е невалидно

  3. ODP.Net на Oracle не може да обработва нови редове .Net?

  4. замяна на квадратни скоби на низ с функция REGEXP_REPLACE на Oracle

  5. Получаване на преброяване/общо на всяко ниво на йерархична заявка с помощта на CONNECT BY