- •Хранение баз данных
- •Табличные области
- •Табличная область system
- •Другие табличные области
- •Оперативные и отключенные табличные области
- •Постоянные и временные табличные области
- •Табличные области только для чтения и чтения/записи
- •Дополнительные сведения о файлах данных
- •Число файлов данных для табличной области
- •Использование пространства файлов данных
- •Сращивание свободного пространства в файлах данных табличной области
- •Размеры файлов данных
- •Повреждение файлов данных
- •Оперативные и отключенные файлы данных
- •Управляющие файлы
- •Зеркально отображенные управляющие файлы
- •Сегменты, экстенты и блоки данных
- •Сегменты данных и индексные сегменты
- •Временные сегменты
- •Временные табличные области
- •Сегменты отката
- •Запись информации в сегменты отката
- •Сегмент отката system
- •Несколько сегментов отката
- •Назначение конкретных сегментов отката
- •Оперативные и отключенные сегменты отката
- •Общие и частные сегменты отката
- •Отложенные сегменты отката
- •Другие функции сегментов отката
- •Блоки данных
- •Выделение блоков данных
- •Доступность блоков данных и списки свободных блоков
- •Сцепление строк и размер блока данных
- •Параметры хранения объектов
- •Размещение табличных областей
- •Параметры для экстентов
- •Initial 500k
- •Специальные параметры хранения данных для сегментов отката
- •Initial 100k
- •Параметры для блоков данных
- •Параметры для списков свободных блоков
- •Пороги блоков
- •Элементы транзакций
- •Установки по умолчанию для хранения объектов
- •Установки по умолчанию для пользователей
- •Установки по умолчанию для табличных областей
- •Initial 100k
- •Уникальность хранения мультимедийных данных
- •Дополнительные сведения о локаторах lob
- •Разделение данных
- •Разделенные таблицы
- •Размещение строк в разделах данных
- •Использование maxvalue
- •Разделенные индексы
- •Варианты создания разделенных индексов
- •Равноразделенные объекты
- •Глобальные разделенные индексы
- •Имена таблиц с учетом разделов
- •Управление разделением
- •Соответствие индексов и таблиц
- •Контрольные вопросы.
Назначение конкретных сегментов отката
В самом начале новой транзакции приложение может явно назначить некоторый сегмент отката. Например, перед началом выполнения большой пакетной операции можно выбрать в базе данных достаточно большой сегмент отката. При этом устраняется опасность назначения маленького сегмента для большой транзакции и необходимость выделения сегменту дополнительного пространства. В результате снижается расход ресурсов, необходимых для записи данных отката транзакции, и увеличивается скорость выполнения операции.
Оперативные и отключенные сегменты отката
Подобно табличным областям и файлам данных, сегмент отката считается оперативным (online), если он доступен, и отключенным (offline) - если недоступен. Обычно сегменты отката являются оперативными, т.е. доступными для записи в них информации отката. Однако при выполнении некоторых функций администратора необходимо, чтобы вначале сегменты отката были отключены. Например, перед отключением табличной области, содержащей сегменты отката, необходимо отключить все сегменты отката данной области. После того как табличная область будет вновь переведена в оперативный режим, можно сделать оперативными и её сегменты отката.
Общие и частные сегменты отката
Сегмент отката базы данных может быть либо общим, либо частным. К общему сегменту отката (public rollback segment)Oracleполучает доступ автоматически, и этот сегмент становится доступен для обычных операций, выполняемых над базой данных. С другой стороны, к частному сегменту отката (private rollback segment)OracleServerполучает возможность обращаться только в том случае, если в файле параметров сервера явно указано имя этого сегмента. Частные сегменты отката полезны при использовании параллельного сервера, когда необходимо, чтобы разные серверы одной и той же базы данных получали взаимоисключающие наборы её сегментов отката. Если при работе сOracleпараллельный сервер не применяется, намного удобнее создавать и использовать общие сегменты отката.
Отложенные сегменты отката
Когда какие-то проблемы с диском вынуждают Oracleотключить один или несколько файлов данных, следует, как правило, отключать и соответствующие табличные области, чтобы пользователям во время их обращения к отключенному файлу не выдавались сообщения об ошибке. Однако при отключении табличной областиOracleне имеет возможности обращаться ко всем файлам данных такой области и поэтому может создать в табличной областиSYSTEMотложенный сегмент отката (deferred rollback segment). В таком сегменте содержится информация отката транзакций, которойOracleне может воспользоваться для работы с поврежденной и отключенной табличной областью.Oracleотслеживает эту информацию и поэтому при восстановлении поврежденной табличной области может выполнить откат транзакций, влияющих на содержимое такой области, и устанавливать соответствие между этим содержимым и другой информацией базы данных.
Другие функции сегментов отката
Сегменты отката используются также для обеспечения взаимного соответствия чтения наборов данных при выполнении параллельных транзакций в многопользовательской системе базы данных и для восстановления базы данных. Более подробно о функциях, выполняемых сегментами отката для соответствия чтения, рассказано отдельно.