В СУБД Oracle контроль над дисковым пространством происходит с использованием специальных логических структур. Эти структуры следующие:
- блоки данных – Это наименьшая единица хранения данных в БД Oracle. Блок БД содержит заголовочную информацию о себе, и данные.
- экстенты – Экстент состоит из блоков данных.
- сегменты – Сегмент состоит из совокупности экстентов, содержащих определенный вид данных.
БД Oracle использует четыре типа сегментов:
- сегмент данных – хранит пользовательские данные.
- индексный сегмент – содержит индексы.
- сегмент отката – хранит информацию отката, используемую при возврате к предыдущему состоянию БД.
- временный (промежуточный) сегмент – создается в случае, если для выполнения SQLвыражения необходимо дополнительное рабочее пространство.
Эти сегменты уничтожаются сразу после выполнения SQLкоманд. Промежуточные сегменты используются также в разнообразных операциях с БД, например, при сортировке.
Экстенты являются строительными блоками сегментов, и, в тоже время, состоят из блоков данных. Экстенты используются для минимизации неиспользуемого (пустого) пространства хранилища. По мере увеличения количества данных в табличных пространствах, экстенты используются для хранения тех данных, которые могут разрастаться. Таким образом, несколько табличных пространств могут делить между собой пространство хранилища без предопределения разделов этих табличных пространств.
При создании табличного пространства, можен указать минимальное число определения экстент, а также число экстент, добавляемых при заполнении уже определенных. Это распределение позволяет вам контролировать пространство хранилища БД.
Блоки данных это наименьшие единицы БД Oracle. Они физически хранятся на диске. Блоки данных на большинстве систем 2Кб (2048 байт), но Вы можете изменить этот размер на свое усмотрение для увеличения эффективности работы системы.