Администрирование Oracle

         

Внутренние блокировки


Внутренние блокировки - это более сложные механизмы, чем  замки, и они  служат разнообразным  целям.  Рассмотрим их назначение ниже для трех различных категорий внутренних блокировок:

1.       Блокировки кэша словаря. Эти блокировки на очень короткое время удерживаются для  записей словаря  при  использовании  или  модификации этих записей.  Они гарантируют,  что  предложения  SQL  во  время  их разбора видят согласованные определения объектов. Блокировки кэша словаря могут быть разделяемыми и  монопольными. Разделяемые блокировки освобождаются по окончании синтаксического разбора.   Монопольные блокировки  освобождаются по концу операции DDL.

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

3.       Блокировки табличных пространств и сегментов отката. Эти  блокировки  защищают  табличные  пространства  и   сегменты отката.  Например, все экземпляры, имеющие доступ к базе  данных, должны согласованно отражать онлайновое или офлайновое состояние табличного пространства.  Сегменты отката блокируются для  того, чтобы лишь один экземпляр мог писать в сегмент отката.



Содержание раздела