Документация iSZN
Обновление параметров секционирования таблиц
Секционирование представляет собой разбиение таблицы Oracle на относительно небольшие части (секции) каким-либо способом. В КИС iSZN используется секционирование таблиц, содержащих фактические данные, по идентификатору основного района. То есть для каждого района, данные которого хранятся в Системе, создаётся своя секция. Помимо секций районов создаётся секция по умолчанию, которая используется в случае, если для размещения данных не подходит ни одна из секций.
Управление секционированием выполняется с помощью настройки экземпляра Системы «Использовать секционирование по районам». После изменения значения этой настройки необходимо обновлять параметры секционирования таблиц с помощью задачи обслуживания «Обновление параметров секционирования таблиц», так как они не обновляются автоматически.
При обновлении параметров секционирования для каждой таблицы iSZN выполняются следующие действия:
- Определяется, должна ли таблица быть секционирована по району. Таблица должна быть секционирована по району, если для неё задан основной район и включена настройка экземпляра Системы «Использовать секционирование по районам».
- Параметры секционирования таблицы изменяются следующим образом:
- если таблица секционирована:
- если таблица должна быть секционирована по району:
- если способ секционирования таблицы отличается от секционирования по основному району:
- если включена опция «Изменить способ секционирования, где он отличается от требуемого» и отключена опция «Сохранять пользовательское секционирование»:
- на основе исходной таблицы создаётся секционированная по основному району таблица (со всеми индексами, триггерами и ограничениями целостности, присущими исходной таблице) с секциями, соответствующими районам, которые инициализированы для размещения вида данных таблицы;
- если таблица секционирована по основному району:
- таблица не пересоздаётся, но для неё добавляются недостающие секции и удаляются ненужные (в соответствии со списком инициализированных районов экземпляра Системы), при этом данные из удаляемой секции перемещаются в секцию по умолчанию;
- если таблица не должна быть секционирована по району:
- если включена опция «Отключить секционирование, где оно не требуется» и отключена опция «Сохранять пользовательское секционирование»:
- таблица пересоздаётся без секционирования;
- если таблица не секционирована:
- если таблица должна быть секционирована по району:
- если включена опция «Включить секционирование, где оно требуется»:
- на основе исходной таблицы создаётся секционированная по основному району таблица (со всеми индексами, триггерами и ограничениями целостности, присущими исходной таблице) с секциями, соответствующими районам, которые инициализированы для размещения вида данных таблицы;
- если включена опция «Обновить параметры секционирования индексов», то для секционированной таблицы глобальные индексы преобразуются в локальные, а для несекционированной — локальные в глобальные (если это может быть выполнено).