Параллельные обновления в Oracle: блокировка или нет?

Я запуталась. Я читаю о MVCC в Oracle. Я думал, что MVCC означает отсутствие блокировок. Но я где-то еще читал, что все UPDATE выполняют автоматическую блокировку, независимо от уровня изоляции. Может кто-нибудь объяснить, что происходит во время обновления Oracle? И что происходит, когда несколько зафиксированных транзакций чтения пытаются выполнить одновременное обновление t set c = c + 1, где id = 3 . Каков результат, если c = 1 перед любой из транзакций, и что происходит с блокировками и SCN?

Begin T1
Begin T2
T1:  update t set c = c + 1 where id = 3
T2:  update t set c = c + 1 where id = 3
Commit T1
Commit T2
6
задан NullUserException 23 September 2011 в 01:06
поделиться