Реализация блокировки Oracle

Как реализованы блокировки в Oracle База данных Oracle использует блокировки (lock) для обеспечения того, что изменение указанного фрагмента данных в каждый конкретный момент времени может совершать максимум одна транзакция. По существу блокировки — это механизмы, которые разрешают параллельную обработку; без применения какой-либо модели блокировки для предотвращения, например, одновременных обновлений одной и той же строки, многопользовательский доступ к базе данных был бы невозможным.

Однако при злоупотреблении или неправильном использовании блокировки могут в действительности только мешать параллельной обработке. Если программист или сама база данных блокирует данные без необходимости, то меньшее число людей сможет параллельно выполнять операции. Поэтому понимание сущности блокировки и особенностей ее работы в базе данных исключительно важно при построении масштабируемого и корректно функционирующего приложения.

Очень важно также понимать, что каждая база данных реализуют блокировку по-своему. В одних блокировка осуществляется на уровне страниц, в других — на уровне строк. Одни базы данных распространяют блокировки с уровня строк на уровень страниц, другие этого не делают. В одних базах данных блокировки чтения применяются, в других - нет. В некоторых базах данных последовательные транзакции реализованы через блокирование, а в других - посредством согласованных по чтению представлений данных (без блокировок). Все эти мелкие различия могут приводить к огромным проблемам с производительностью или явным программным ошибкам, если не понимать особенностей их работы.

Ниже описаны принципы политики блокировки Oracle

Указанные обстоятельства должны учитываться при развертывании приложения. При этом необходимо осознавать, что описанная политика уникальна Oracle — каждая база данных обладает собственными особенностями реализации блокировки. Даже приводя все свои приложения к "наименьшему общему знаменателю SQL", следует учитывать, что модели блокировки и параллельной обработки, используемые каждым поставщиком баз данных, определяют различия в поведении приложения. Разработчик, который не понимает, каким образом база данных реализует параллельную обработку, неизбежно столкнется с проблемами целостности данных. Это особенно часто происходит при переходе от другой базы данных к Oracle и наоборот, а также из-за пренебрежения учета в приложениях отличий между механизмами параллельной обработки.

 

Вас заинтересует / Intresting for you:

Видеокурс по администрированию...
Видеокурс по администрированию... 10719 просмотров Илья Дергунов Mon, 14 May 2018, 05:08:47
Oracle и непроцедурный доступ ...
Oracle и непроцедурный доступ ... 8521 просмотров Antoni Tue, 21 Nov 2017, 13:32:50
Работа с запросами Approximate...
Работа с запросами Approximate... 2286 просмотров Андрей Васенин Mon, 29 Oct 2018, 06:40:46
СУБД Oracle: обзор характерист...
СУБД Oracle: обзор характерист... 15811 просмотров Antoni Fri, 24 Nov 2017, 07:35:05
Печать
Войдите чтобы комментировать