Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 можно ли работающий джоб запусть повторно?  [new]
Albatross
Member

Откуда:
Сообщений: 998
т.е. есть джоб, он сейчас выполняется (допустим, он долгий).
можно ли его запустить еще раз? будут ли они в этом случае выполняться параллельно?

если можно запустить повторно, можно ли настроить джоб так, чтобы запустить параллельно его нельзя было.
доступа к ораклу сейчас нет, проверить не могу.
спасибо!
18 апр 17, 14:04    [20410801]     Ответить | Цитировать Сообщить модератору
 Re: можно ли работающий джоб запусть повторно?  [new]
Elic
Member

Откуда:
Сообщений: 29990
RTFM How Jobs Execute (FAQ)
18 апр 17, 14:36    [20410913]     Ответить | Цитировать Сообщить модератору
 Re: можно ли работающий джоб запусть повторно?  [new]
Vladimir Filin
Member

Откуда: Москва
Сообщений: 110
Albatross,

В дополнение к ссылке от Elic, учитывай в своей разработке:

Albatross
т.е. есть джоб, он сейчас выполняется (допустим, он долгий).

Имеет смысл проверить, что именно делается, как эту работу делает конкретный экземпляр сервера/кластера/...

Albatross
можно ли его запустить еще раз? будут ли они в этом случае выполняться параллельно?

Если необходимо, джобы можно клонировать и запускать в параллель над разными частями обрабатываемых данных.
Это будут физически разные джобы, хотя и клонированные с одного шаблонного джоба.
Ускорит это обработку или, наоборот, замедлит -- вопрос проектирования и серверных ресурсов.
Подробности читай тут Summary of DBMS_SCHEDULER Subprograms
Клонированием занимается COPY_JOB Procedure

Кроме того, в документации в разных частях описаны REGULAR-job и LIGHTWEIGHT-job. В CREATE_JOB Procedure это параметр job_style. За счет этого ты можешь менять объем порождаемых джобом метаданных. Для редкого долгого джоба это не слишком критично, а вот для серии быстрых "одноразовых" джобов уже принципиально.
Для LIGHTWEIGHT-job тебе понадобится создать "Program": CREATE_PROGRAM Procedure
Для REGULAR-job "Program" не обязателен: можно делать, можно не делать.

После выполнения работы джоб может самоликвидироваться или засыпать до следующего запуска. Джобу можно передавать входные параметры, с которыми он запустит твой код или что-то выберет для запуска. Это к вопросу "один долгий" или "много в параллель".
18 апр 17, 20:15    [20412352]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить