Просто чтобы в голове не держать.
№1 - alter table
№1 - alter table
[Error: Irreparable invalid markup ('<enable|disable>') in entry. Owner must fix manually. Raw contents below.]
Просто чтобы в голове не держать.
№1 - alter table <enable|disable> row movement приводит к инвалидации всех пакетов, которые зависят от этой таблицы. А так как для shrink space нужно enable row movement, который по умолчанию выключен, получается больно и обидно :)
№2 - Это уже скорее антипаттерн. Типичная задача - расчет витрин после окончания загрузки данных в хранилище. Наивная реализация - собрать вызовы всех процедур расчета в одном месте, и дергать этот мега-расчет одним махом.
Недостатки: сложно распарралелить расчет независимых витрин, если нет качественной обработки ошибок, сбой в одной из процедур валит весь расчет. Трудно запустить пересчет только одной витрины.
Так что похоже что гораздо оптимальнее - на каждую процедуру расчета - свой job, объединенные в sequence.
№1 - alter table <enable|disable> row movement приводит к инвалидации всех пакетов, которые зависят от этой таблицы. А так как для shrink space нужно enable row movement, который по умолчанию выключен, получается больно и обидно :)
№2 - Это уже скорее антипаттерн. Типичная задача - расчет витрин после окончания загрузки данных в хранилище. Наивная реализация - собрать вызовы всех процедур расчета в одном месте, и дергать этот мега-расчет одним махом.
Недостатки: сложно распарралелить расчет независимых витрин, если нет качественной обработки ошибок, сбой в одной из процедур валит весь расчет. Трудно запустить пересчет только одной витрины.
Так что похоже что гораздо оптимальнее - на каждую процедуру расчета - свой job, объединенные в sequence.
1 comment | Leave a comment
