Партиционирование z#ows_transaction.
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Taniani Участник
Вступление в Клуб: 08.11.2012
|
Пт Июн 29, 2018 14:07  Партиционирование z#ows_transaction. |
|
Полезность: 1
|
Добрый день!
Столкнулись с проблемой при партционировании z#ows_transaction. Проводили ссылочное партиционирование(на z#ip_transaction). После него было улучшения во времени запроса но, появились проблемы с таблицей Z#IP_HOLD, связанной с z#ows_transaction, через foreign key.
Что происходит: идет insert в z#ows_transaction, получаем id записи. и далее с id идет insert в Z#IP_HOLD. И падает с ошибкой:
Ошибка вызова интерфейса, откат обработки: ORA-01555: слишком старый снимок: сегмент отката номер 297 по имени "_SYSSMU297_484540920$" слишком мал
Если отключить ключ - ошибки нет. Пересоздавали и ключи и индексы.
может кто-нибудь сталкивался? Скриптов партиционирования нет. Все что знаю что оно ссылочное.... |
|
 |
kai Профи
Вступление в Клуб: 16.08.2012
|
Вт Сен 04, 2018 09:01  Re: Партиционирование z#ows_transaction. |
|
Полезность: Нет оценки
|
Taniani пишет: | Столкнулись с проблемой при партционировании z#ows_transaction. Проводили ссылочное партиционирование(на z#ip_transaction). После него было улучшения во времени запроса но, появились проблемы с таблицей Z#IP_HOLD, связанной с z#ows_transaction, через foreign key. |
1. В общем случае нельзя проводить секционирование таблиц ТБП - тем самым изменять только словарь Oracle без внесения изменений в словарь ТЯ. Как минимум из-за констрейнтов. (Только на свой страх и риск - есть пример секционирования таблицы CARD_REE_FIELDS).
2. Подробности о секционировании F1 в "Администраторе словаря данных" (поиск по слову "секционирование"), в ТЯ Doc\partitions.doc.
3. ТЯ констрейнты меняет на триггеры.
4. Для пакетного преобразования таблиц из простой в секционированную с минимальным временем простоя есть приложение "Менеджер жизненного цикла данных" (ADM.BATCH.ARC)
http://catalog.cft.ru/platform/SitePages/Apps.aspx?view=bn#/bn:1/s:3
p.s. По приложению вопросы можно задавать мне.
вот, кстати, могу привести текст из переписки со специалистами Oracle:
Цитата: | Простое секционирование по дате, из-за особенностей логики работы прикладного ПО "ЦФТ-Банк", приведёт к неэффективной схеме секционирования. Проблема связана с тем, что при формировании записи в транзакционных таблицах, некоторые поля (неосновные атрибуты) не заполняются сразу при создании записи. Поле "Дата" относится именно к таким атрибутам. Заполнение даты производится уже потом – в ходе прохождения жизненного цикла соответствующего бизнес-объекта системы. Такова специфика работы приложения "ЦФТ-Банк".
Все вышеперечисленное означает, что первоначально, все такие записи (с пустой датой) попадут в секцию по умолчанию (default maxvalue). В дальнейшем, при установке значения в это поле, – произойдёт смена ключа секционирования, что крайне не рекомендуется.
Другая проблема связана с индексами – для того, чтобы индекс был локальным то есть повторял схему секционирования самой таблицы, в него должен входить ключ секционирования. Это означает, что нельзя будет использовать пустое значение (NULL) для такого индекса – придётся все индексы делать глобальными. В этом случае все операции над таблицей будут приводить к необходимости перестройки глобальных индексов – приложение в этот момент будет практически неработоспособно.
Для решения задачи секционирования таблиц и индексов разработчиками компании "ЦФТ" была разработана и протестирована соответствующая методика. Она заключается в том, что в прикладные таблицы "ЦФТ-Банк" добавляется дополнительное поле-ключ секционирования. Далее исходный код приложения модифицируется, чтобы обращения происходили только к актуальным данным. В дальнейшем происходит плавное (не останавливающее работу приложения!), перемещение данных из активной секции в архивную с перестроением локальных индексов.
Мы считаем, что банкам следует ориентироваться на методику секционирования, предложенную разработчиками компании "ЦФТ", поскольку она учитывает все риски и предлагает проверенное решение.
Best Regards
Igor Melnikov
Oracle CIS
ноябрь 2016г.
|
|
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|