Управление пространством в базе данных Oracle
Управление пространством, используемым объектами базы данных Oracle
Выделение экстентов
Освобождение экстентов
Размер экстентов
Управление пространством внутри сегментов
Автоматическое управление пространством сегмента
Ручное управление пространством сегмента
Особенности управления сегментами
Управление сегментами данных и индексными сегментами
Управление временными сегментами
Управление сегментами отката
Фрагментация базы данных Oracle
Фрагментация табличного пространства
Фрагментация объектов базы данных Oracle
Управление пространством в базе данных SQL Server
Управление распределением экстентов и свободным пространством в БД SQL Server
Управление пространством, используемым объектами базы данных SQL Server
Размещение страниц данных
Выделение пространства для объекта базы данных SQL Server
Сжатие базы данных SQL Server
Литература
База данных Oracle состоит из множества компонентов, которые используют дисковое пространство и расходуют системные ресурсы. Каждый ресурс имеет уникальные характеристики хранения и требует индивидуального подхода при обработке и обслуживании, причем для хранения каждого сегмента используются характерные именно для этого сегмента методы. В связи с этим необходимо хорошо понимать, какие параметры влияют на выделение пространства для объектов базы данных и на их хранение в базе данных.
Сервер Oracle распределяет пространство базы данных для всех своих данных. Пространство выделяется при создании объекта и при последующем увеличении размера объекта. Пространство выделяется наборами смежных блоков базы данных, которые называются экстентами. Каждый создаваемый в базе данных сегмент состоит, по крайней мере, из одного экстента. Первый экстент сегмента называется начальным экстентом. Следующие экстенты сегмента называются дополнительными экстентами.
При создании объекта базы данных, необходимо указать, какому табличному пространству объект должен принадлежать. После этого данные, образующие объект, будут храниться в файлах данных, из которых состоит табличное пространство. Пространство для объектов базы данных может быть распределено только в том табличном пространстве, в котором объекты были созданы.
Табличное пространство может использовать два метода хранения информации о своем свободном и используемом пространстве:
· Локально управляемое табличное пространство (Locally managed tablespace) – экстенты управляются самим табличным пространством.
· Табличное пространство, управляемое по словарю (Dictionary managed tablespace) – экстенты управляются через словарь данных.
Метод управления пространством необходимо выбрать при создании табличного пространства, т. к. выбранный метод нельзя изменить впоследствии.
Локально управляемые табличные пространства
Табличное пространство, которое само управляет своими экстентами, содержит битовую матрицу (bitmap) в каждом файле данных. Каждый бит в битовой матрице соответствует блоку или группе блоков и отображает их статус (свободный или используемый). Когда экстент распределяется или освобождается, Oracle изменяет значение битовой матрицы таким образом, чтобы показать новый статус блоков.
Локально управляемое пространство имеет следующие преимущества:
· Локальное управление экстентами автоматически определяет смежные свободные экстенты, удаляя необходимость объединять свободные экстенты.
· Предотвращает рекурсивные операции управления пространством. Рекурсивные операции происходят в табличных пространствах, управляемых по словарю, если потребление или освобождение пространства в экстентах приводит к другим операциям, которые потребляют или освобождают пространство в таблице словаря данных или сегментах отката.
Размеры экстентов, управляемых локально, могут определяться автоматически системой или определяются администратором, в последнем случае все экстенты в табличном пространстве должны быть одного размера.
Табличные пространства, управляемые по словарю
Для табличных пространств, использующих словарь данных для управления своими экстентами, Oracle обновляет соответствующие таблицы в словаре данных каждый раз при выделении или освобождении экстентов. Кроме того, Oracle хранит информацию отката о каждом обновлении словарной таблицы. Т. к. таблицы словаря и сегменты отката также являются частью базы данных, пространство, которое они занимают, подвергается тем же самым операциям управления пространством, как и все остальные объекты.
Экстент выделяется для сегмента:
· При создании объекта базы данных сразу же резервируется начальный экстент для сегмента, хранящего данные этого объекта
· Когда новые данные объекта не могут быть помещены в уже имеющиеся экстенты сегмента, выделяется дополнительный экстент. Очередной экстент выделяется сегменту только в том случае, если все ранее выделенные экстенты уже заняты
· Администратор базы данных может выделить дополнительный экстент явно командой SQL
ALTER INDEX имя_индекса ALLOCATE EXTENT… – для сегментов индексов
ALTER CLUSTER имя_кластера ALLOCATE EXTENT… – для сегментов, содержащих данные кластера
ALTER TABLE имя_таблицы ALLOCATE EXTENT… – для сегментов, содержащих данные таблицы
Сервер Oracle использует разные алгоритмы выделения дополнительных экстентов, в зависимости от того, является ли табличное пространство локально управляемым, или управляет своими экстентами через словарь данных.
Локально управляемое табличное пространство
Если табличное пространство само управляет своими экстентами, Oracle ищет свободное пространство для выделяемого экстента, просматривая битовую матрицу первого файла данных. Если требуемое количество свободных блоков найдено в битовой матрице, экстент будет выделен. В противном случае Oracle будет искать свободное пространство в битовой матрице другого файла данных.
Табличное пространство, управляемое по словарю
Если табличное пространство управляет выделением экстентов через словарь данных, поиск свободного пространства для выделяемого экстента происходит следующим образом:
· Oracle ищет набор смежных блоков данных, который по размеру соответствует выделяемому экстенту плюс один блок. Если новый экстент требует не более пяти блоков Oracle, дополнительный блок не добавляется.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.