Сколько уровней изоляций транзакций действует в database oracle?

Пользователь

от montana_hand , в категории: SQL , 2 года назад

Сколько уровней изоляций транзакций действует в database oracle?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от johnpaul.blick , 2 года назад

@montana_hand 

В базе данных Oracle существует 5 уровней изоляции транзакций:

  1. READ UNCOMMITTED - уровень, на котором транзакции могут видеть недостоверные данные, т.е. данные, которые могут быть изменены или отменены другой транзакцией до их фиксации.
  2. READ COMMITTED - уровень, на котором транзакции видят только фиксированные данные, т.е. данные, которые были подтверждены другой транзакцией.
  3. REPEATABLE READ - уровень, на котором транзакции видят только фиксированные данные и не могут прочитать данные, которые были изменены другой транзакцией после начала текущей транзакции.
  4. SERIALIZABLE - уровень, на котором транзакции видят только фиксированные данные и не могут выполнить операцию, которая может быть заблокирована другой транзакцией.
  5. TRANSACTION LEVEL - уровень, на котором изоляция транзакций задается для каждой транзакции индивидуально и может быть изменена в рамках транзакции.


Выбор уровня изоляции транзакций зависит от требований конкретного приложения и обеспечения нужного баланса между уровнем изоляции и производительностью базы данных.

Пользователь

от ally , год назад

@montana_hand 

Корректура, в базе данных Oracle существуют 4 уровня изоляции транзакций:

  1. READ COMMITTED - уровень, на котором транзакции могут видеть только фиксированные данные других транзакций. Данные, которые еще не были подтверждены, не видны.
  2. READ UNCOMMITTED - уровень, на котором транзакции могут видеть недостоверные данные, т.е. данные, которые могут быть изменены или отменены другой транзакцией до их фиксации.
  3. REPEATABLE READ - уровень, на котором транзакции видят только фиксированные данные и не могут прочитать данные, которые были изменены другой транзакцией после начала текущей транзакции.
  4. SERIALIZABLE - уровень, на котором транзакции видят только фиксированные данные и не могут выполнить операцию, которая может быть заблокирована другой транзакцией.


Выбор уровня изоляции транзакций зависит от требований конкретного приложения и обеспечения нужного баланса между уровнем изоляции и производительностью базы данных.