powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Выключить запуск пропущенного JOB
5 сообщений из 5, страница 1 из 1
Выключить запуск пропущенного JOB
    #40106596
Horshev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Oracle 11.2

Есть JOB, который запускается каждый день в 22 часа.
Если JOB не выполнился вовремя по тем или иным причинам, то его следующий запуск будет при старте БД.
Есть ли какой-то параметр, который запретит выполнять JOB при старте БД?
Нужно сделать так, что JOB всегда запускался по расписанию в 22 часа.
Спасибо!
...
Рейтинг: 0 / 0
Выключить запуск пропущенного JOB
    #40106598
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Видимо, при создании тестовой БД?
Можно устанавливать параметр job_queue_processes в 0 перед стартом БД, затем менять NEXT_TIME у задания, ну и далее вернуть (или сбросить) job_queue_processes
...
Рейтинг: 0 / 0
Выключить запуск пропущенного JOB
    #40106642
Horshev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Там немного сложнее.
Каждую ночь по DBLink забираются все данные из базы Firebird.
С полным удалением/созданием матвьюх.
В рабочее время идут запросы к этим данным (через процедуры в пакетах).
Запуск JOB в рабочее время приводит к раскомпиливанию объектов и блокировках.
Поэтому хотелось бы делать это в строго нерабочее время по расписанию.

Конечно как вариант можно добавить обработку внутри самой вызываемой процедуры типа такой (см ниже), но решил спросить у профессионалов, вдруг есть какой-нибудь атрибут для самого JOB, т.к. job_queue_processes=0 выключит всю очередь, а хотелось бы регулировать запуск конкретного задания.

Код: plsql
1.
2.
3.
4.
5.
6.
p_count := to_number(to_char(SYSDATE, 'mi')) + to_number(to_char(SYSDATE, 'hh24')) * 60;
/* не запускать с 08:00 по 22:00 */
IF p_count >= 480
  AND p_count <= 1320 THEN
      RETURN;
END IF;
...
Рейтинг: 0 / 0
Выключить запуск пропущенного JOB
    #40106662
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, я как-то публиковал здесь (не мой) способ привязки заданий к поднятию определенного service
Но это надо планировать заранее
...
Рейтинг: 0 / 0
Выключить запуск пропущенного JOB
    #40106790
Фотография SeaGate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HorshevНужно сделать так, что JOB всегда запускался по расписанию в 22 часа.
С DBMS_SCHEDULER этого можно добиться через schedule_limit. Если job пропустил свой запуск + schedule_limit, то next_run_date обновляется с соответствующей записью в dba_scheduler_job_log:
Код: plsql
1.
Recurring job rescheduled after schedule limit exceeded


Запуска при старте БД при этом не будет.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Выключить запуск пропущенного JOB
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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