Экстенты

Сегменты

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

Табличные пространства и файлы данных

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

Используя несколько файлов данных для одного табличного пространства, можно распределить их по разным дискам, увеличив тем самым скорость ввода-вывода и, соответственно, производительность системы. Таким образом, БД Oracle состоит из табличных пространств, которые, в свою очередь, состоят из файлов данных. А файлы данных могут быть разбросаны по нескольким физическим дискам. Зарисуйте эту схему или четко представьте ее в голове.

В процессе создания БД Oracle автоматически, специально для пользователя, строится табличное пространство SYSTEM. Хотя для небольших баз данных может хватить этого табличного пространства, но все же следует создать дополнительные табличные пространства для пользовательских данных. В табличном пространстве SYSTEM хранится словарь данных. Как Вы, наверное, помните, в словаре данных содержится информация о таблицах, индексах, кластерах и т.д.

В СУБД Oracle контроль над дисковым пространством происходит с использованием специальных логических структур. Эти структуры следующие:

- блоки данных - Это наименьшая единица хранения данных в БД Oracle. Блок БД содержит заголовочную информацию о себе, и данные.

- экстенты - Экстент состоит из блоков данных.

- сегменты - Сегмент состоит из совокупности экстентов, содержащих определенный вид данных.

БД Oracle использует четыре типа сегментов:

- сегмент данных - хранит пользовательские данные.

- индексный сегмент - содержит индексы.

- сегмент отката - хранит информацию отката, используемую при возврате к предыдущему состоянию БД.

- временный (промежуточный) сегмент - создается в случае, если для выполнения SQL-выражения необходимо дополнительное рабочее пространство.

Эти сегменты уничтожаются сразу после выполнения SQL-команд. Промежуточные сегменты используются также в разнообразных операциях с БД, например, при сортировке.

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: