Помимо обсуждения свойств ACID, на которые ссылается ziesemer , вы должны знать о многоверсионном управлении параллелизмом или MVCC. Если вы хотите узнать «все об этом», подумайте о том, чтобы прочитать Контроль и восстановление параллелизма в системах баз данных от Филиппа А. Бернштейна, Вассоса Хадзилакоса, Натана Гудмана (доступно для скачивания).
В Oracle и других аналогичных СУБД MVCC при запуске транзакции сохраняется отметка времени, которая идентифицирует это время начала (но значение отметки времени не обязательно является простым «секундами со значения эпохи Unix»). Пока эта транзакция выполняется, она не увидит никаких данных, вставленных с отметкой времени после ее начала. Система сохраняет предыдущие версии страниц данных доступными для транзакций, которые еще выполняются. Когда транзакция записывает страницу, она создает новую копию с новой отметкой времени, но эта копия не становится доступной для других транзакций до тех пор, пока не будет принята изменяющая транзакция, и даже тогда она доступна только для транзакций, которые начинаются после фиксации.