Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как правильно настроить dba_scheduler для обновления хранища. / 6 сообщений из 6, страница 1 из 1
15.04.2018, 13:26
    #39630406
Wisky
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно настроить dba_scheduler для обновления хранища.
Обновление хранилища состоит из трех процедур.
1) renew_dict() - обновление словаря раз в день
2) renew_data1, renew_data2,renew_data3 - обновление данных независимых витрин, возможна параллельная загрузка, частота каждую минуту
3) renew_agg - обновление агрегаций, частота раз в час

Каким образом правильно обеспечить параллельность и последовательность разнотипных задач?
Задача не должна запускаться если она уже запущена или запущена задача другого типа. Сейчас сделала на основании флажком во внутренней таблице, но вероятность зависшего флага не устраивает, должно быть более лаконичное решение.
...
Рейтинг: 0 / 0
15.04.2018, 15:21
    #39630426
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно настроить dba_scheduler для обновления хранища.
Wisky,

Задача это последовательное/параллельноe выполнение 1), 2) ,3)? Если да, то это реализуется через chain где 1), 2) ,3) это steps a последовательное/параллельноe выполнение steps задается через step rules. Ну а задача не должна запускаться если она уже запущена заложена в DBMS_SCHEDULER изначально.

SY.
...
Рейтинг: 0 / 0
15.04.2018, 15:35
    #39630430
Wisky
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно настроить dba_scheduler для обновления хранища.
У задач 1), 2.1+2.2+2.3) и 3) слишком разные периоды.
...
Рейтинг: 0 / 0
15.04.2018, 16:10
    #39630437
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно настроить dba_scheduler для обновления хранища.
WiskyУ задач 1), 2.1+2.2+2.3) и 3) слишком разные периоды.

Создаем chain из 5 steps. Schedule 1 минута. Step 1 проверяет дату последнего обновления словаря. Еcли < 1 дня просто выходим, если нет renew_dict(). Steps 2, 3, 4 с rule "после завершения Step 1" и посему параллельно выполняют renew_data1, renew_data2, renew_data3. Step 5 с rule "после завершения Step 2,3,4" проверяет дату последнего обновление агрегаций. Еcли < 1 часа просто выходим, если нет - renew_agg.

SY.
...
Рейтинг: 0 / 0
15.04.2018, 16:38
    #39630447
Wisky
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно настроить dba_scheduler для обновления хранища.
Пока тоже планирую такой вариант, но тогда потребуются для 1) и 3) самостоятельные нерегламентные запуски, опять требующие остановки основной цепочки. Может потребоваться срочно обновить словарь или пересчитать агрегаты.
...
Рейтинг: 0 / 0
16.04.2018, 01:57
    #39630544
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно настроить dba_scheduler для обновления хранища.
WiskyПока тоже планирую такой вариант, но тогда потребуются для 1) и 3) самостоятельные нерегламентные запуски, опять требующие остановки основной цепочки. Может потребоваться срочно обновить словарь или пересчитать агрегаты.

С помощью DBMS_SCHEDULER.ALTER_CHAIN для нужных шагов устанавливаем атрибут SKIP в TRUE.

SY.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как правильно настроить dba_scheduler для обновления хранища. / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]