Oracle использует многоверсионность , чтобы гарантировать согласованность чтения без блокирования записей:
согласованные по чтению запросы
Данные, возвращаемыезапрос зафиксирован и соответствует одному моменту времени.
Неблокирующие запросы
Устройства чтения и записи данных не блокируют друг друга
Когда вы выполняете SELECT в изоляции Read-Committed, база данных восстанавливает строки так, как они были в начале запроса, чтобы у вас было согласованное представление данных (все блоки извлекаются в одной точке-время).Oracle использует данные отмены для отмены изменений, внесенных в блоки после начала запроса (также изменения от других незафиксированных транзакций).
Принцип аналогичен изоляции сериализуемой транзакции, за исключением того, чтоOracle восстанавливает строки, как они были в начале транзакции.
Для дальнейшего чтения я предлагаю вам взглянуть на главу " Multi-Versioning and Concurrency " от одного из Тома.Книга Кайта.