СЕРГЕЙ МАСЛОВ, руководитель центра СПАО «Ингосстрах», Maslov.Sergey@ingos.ru
Опыт секционирования таблиц в Oracle
Часть 4. Управление секциями и подсекциями
При создании секционированных таблиц необходимо периодически проводить работы с секциями – очищать, добавлять или удалять. Мы разработали метод, минимизирующий необходимость проведения операций над секциями
Управление секциями и подсекциями
В процессе работы с секционированной таблицей (далее будем называть ее с-таблицей) периодически возникают задачи по работе с секциями или подсекциями. Над секциями (подсекциями) выполняются такие операции, как:
- добавление новых и удаление существующих секций,
- перенос секции в другую не секционированную таблицу,
- «расщепление» секции на части,
- очистка т.д.
Все эти операции над секциями и подсекциями выполняются командой:
Alter table ИМЯ ТАБЛИЦЫ ОПЕРАЦИЯ ИМЯ СЕКЦИИ или ПОДСЕКЦИИ
При этом перечень возможных операций над секциями (подсекциями) представлен ниже:
- add partition | subpartition
- coalesce partition | subpartition
- drop partition | subpartition
- exchange partition | subpartition
- merge partition| subpartition
- move partition | subpartition
- modify partition | subpartition
- rename partition | subpartition
- split partition | subpartition
- truncate partition | subpartition
Замечание. Использование фразы UPDATE GLOBAL INDEX для всех этих операций позволяет Oracle выполнить модификацию глобального индекса, поддерживая его в актуальном состоянии. Если не вставлена фраза UPDATE GLOBAL INDEX, то для восстановления работоспособности индекса можно воспользоваться оператором REBUILD.
Покажем работу указанных выше операторов на примерах работы с секциями с-таблицы AIF.HISTLOG, секционированной по Range-методу с ключом секционирования по столбцу Updated:
Статью целиком читайте в журнале «Системный администратор», №11 за 2015 г. на страницах 47-51.
PDF-версию данного номера можно приобрести в нашем магазине.