Фрагментация БД   Фрагментация табличного пространства   Фрагментация блоков данных   Миграция строк   Цепочки строк
  
Сегментная фрагментация

Назад


Сегментная фрагментация появляется при быстром динамическом расширении (rapid dynamic extension). То есть строки добавляются, сегмент расширяется, строки добавляются, сегмент расширяется и т.д [4].


Сегментная фрагментация является естественным и нужным явлением базы данных Oracle, и формой существования множественности экстентов сегмента. Когда сегмент Oracle имеет более одного экстента, технически он фрагментирован. Содержит ли два экстента или три сотни экстентов, сегмент все равно будет фрагментирован [4].

Причина появления сегментной фрагментации

Объекты базы данных в Oracle расширяются вследствие своего, естественного роста. Когда текущий экстент заполняется и требуется новое пространство, серверный процесс берет непрерывную область свободного пространства и создает новый экстент [4].

Методы обнаружения сегментной фрагментации

Для обнаружения сегментной фрагментации необходимо подсчитать число экстентов объекта базы данных. Следует скрипт обнаружения сегментной фрагментации (см. пример 4) [4].
Пример 4:
col owner format a10
col segment_name format a20
col segment_type format a15
select owner,segment_name,segment_type,count(*)
from dba_extents
group by owner, segment_name ,segment_type;
Результат скрипта в файле table3.zip

Результат скрипта показывает (см. таб. 3), что имеются фрагментированные сегменты, которые имеют более одного экстента, за исключением таблиц ORDERS и STOCK [4].

Влияние сегментной фрагментации на производительность

Исследование влияния сегментной фрагментации концентрируется вокруг операций чтения и записи с помощью индексного сканирования (index scan) и операций полного сканирования таблицы (full table scan). Операция записи не вызывает проблем до тех пор, пока не возникает быстрого динамического расширения (rapid dynamic extension) и точно так же индексное чтение не вызывает проблему поскольку индексное чтение считывает один блок. Быстрое динамическое расширение является результатом неправильного выбора размеров экстентов. Поэтому, надо исследовать операции полного сканирования таблиц имеющих несколько экстентов [4]. Таким образом, можно сказать, что сегментная фрагментация влияет на производительность [4].

Решение проблемы сегментной фрагментации

Необходимо изменить параметры хранения initial и next и pctincrease, для устранения сегментной фрагментации.

Анализ такого типа фрагментации в файле anacf.zip (4793) bytes.

Сначало

Назад