Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СУБД Oracle / Лекции / Лек_ORAC / LCD / Хранение БД.doc
Скачиваний:
50
Добавлен:
16.04.2013
Размер:
173.06 Кб
Скачать

Назначение конкретных сегментов отката

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

Оперативные и отключенные сегменты отката

Подобно табличным областям и файлам данных, сегмент отката счита­ется оперативным (online), если он доступен, и отключенным (offline) - если недоступен. Обычно сегменты отката являются оперативными, т.е. доступными для записи в них информации отката. Однако при выпол­нении некоторых функций администратора необходимо, чтобы вначале сегменты отката были отключены. Например, перед отключением табличной области, содержащей сегменты отката, необходимо отключить все сегменты отката данной области. После того как табличная область будет вновь переведена в оперативный режим, можно сделать оперативными и её сегменты отката.

Общие и частные сегменты отката

Сегмент отката базы данных может быть либо общим, либо частным. К общему сегменту отката (public rollback segment)Oracleполучает доступ автоматически, и этот сегмент становится доступен для обычных операций, выполняемых над базой данных. С другой стороны, к частному сегменту отката (private rollback segment)OracleServerполучает возмож­ность обращаться только в том случае, если в файле параметров сервера явно указано имя этого сегмента. Частные сегменты отката полезны при использовании параллельного сервера, когда необходимо, чтобы разные серверы одной и той же базы данных получали взаимоисключающие наборы её сегментов отката. Если при работе сOracleпараллельный сервер не применяется, намного удобнее создавать и использовать общие сегменты отката.

Отложенные сегменты отката

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

Другие функции сегментов отката

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