Документация iSZN

Обновление параметров секционирования таблиц

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

Управление секционированием выполняется с помощью настройки экземпляра Системы «Использовать секционирование по районам». После изменения значения этой настройки необходимо обновлять параметры секционирования таблиц с помощью задачи обслуживания «Обновление параметров секционирования таблиц», так как они не обновляются автоматически.

При обновлении параметров секционирования для каждой таблицы iSZN выполняются следующие действия:

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

См. также