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

Управляющие файлы

Для каждой базы данных Oracleсуществует управляющий файл (control file), в котором находится информация о физической структуре базы данных. Управляющий файл содержит имя базы данных, а также имена и местонахождение всех файлов, имеющих к ней отношение. Кроме того, с помощью управляющего файла отслеживается и регистрируется внутрисистемная информация: о табличных областях, файлах данных и о резервных копиях системы.

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

При создании новой базы данных Oracleсоздает и новый управляю­щий файл. ВпоследствииOracleавтоматически обновляет его, занося необходимую служебную информацию. Кроме того, каждый раз при изменении атрибутов базы данныхOracleобновляет информацию управляющего файла. Например, при создании новой табличной области с одним или с несколькими файлами данных или при добавлении файла данных к существующей табличной областиOracleобновляет управляющий файл, регистрируя информацию о новых файлах.

Зеркально отображенные управляющие файлы

Без управляющего файла база данных Oracleне может нормально функционировать. Чтобы обеспечить работоспособность базы данных во время отдельного сбоя диска, можно зеркально отобразить (mirror) её управляющий файл на другие файлы. При этой операцииOracleобновляет каждую копию управляющего файла в одно и то же время. Если в результате сбоя диска одна из копий управляющего файла становится недоступна, другие копии остаются работоспособными и позволяют продолжать выполнение операций с базой данных.

Сегменты, экстенты и блоки данных

Сегменты, состоящие из блоков данных, выделяются для физического хранения объектов базы данных: таблиц, индексов, кластеров данных и других объектов хранения. Группа последовательных блоков данных (data blocks), выделяемая для хранения объектов базы данных, представляет собой экстент (extent). Сегмент (segment) - это совокупность всех экстентов, отведенных объекту базы данных. На рис. $.5 показаны отношения, существующие между некоторой таблицей, её сегментами данных, экстентами и блоками данных.

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

Далее подробно рассказывается о сегментах, экстентах и блоках данных.

Сегменты данных и индексные сегменты

Для различных видов объектов баз данных Oracleсоздает различные сегменты. Например, при создании таблицы одновременно создается сегмент данных (data segment) для хранения её информации. Сегмент данных создается и при создании кластера данных; в таком сегменте хранятся данные всех таблиц, помещаемых в кластер. А при создании индекса одновременно создается индексный сегмент (index segment) для хранения информации этого индекса.

Временные сегменты

Для выполнения SQL-операторов часто требуются временные рабочие области. Например, при создании индекса для большой таблицы, как правило, необходимо некоторое временное пространство системы, чтобы перед построением индексного сегмента можно было отсортировать все индексные элементы. Когда обрабатываетсяSQL-оператор, для которого требуется временное рабочее пространство,Oracleвыделяет небольшие временные сегменты (temporary segments) в табличной области базы данных. Когда выполнение оператора завершается,Oracleвозвращает сегменты табличной области, и это пространство может впоследствии использоваться для других объектов.