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

Откуда:
Сообщений: 10
Приветствую!

Необходимо запускать некий скрипт в строго определённый день в заданный интервал времени. Скажем, по четвергам с 12 дня до 8 вечера. Поиск решения как это сделать ничего не дал ... видимо плохо искал (.
Помогите пожалуйста разобраться, как создать подобный job? Или, если не трудно, поделитесь толковым тынцем по созданию и настройке заданий.
13 июл 09, 15:58    [7409441]     Ответить | Цитировать Сообщить модератору
 Re: Настройка job'а  [new]
pravednik
Member

Откуда: Jacksonville, FL
Сообщений: 16268
знаете как сделать, чтоб джоб запускался, к примеру, в час дня в четверг ??
13 июл 09, 16:14    [7409539]     Ответить | Цитировать Сообщить модератору
 Re: Настройка job'а  [new]
oracle_junior
Member

Откуда:
Сообщений: 10
где-то так:
NEXT_DAY(TRUNC(SYSDATE), ''THURSDAY'')+1/24
13 июл 09, 16:25    [7409624]     Ответить | Цитировать Сообщить модератору
 Re: Настройка job'а  [new]
pravednik
Member

Откуда: Jacksonville, FL
Сообщений: 16268
oracle_junior
где-то так:
NEXT_DAY(TRUNC(SYSDATE), ''THURSDAY'')+1/24

а это разве не есть решение вашего
автор
Скажем, по четвергам с 12 дня до 8 вечера.

??

Или вы хотите чтобы джоб, даже если там begin null; end; , лопатил все восемь часов ???
13 июл 09, 16:33    [7409675]     Ответить | Цитировать Сообщить модератору
 Re: Настройка job'а  [new]
oracle_junior
Member

Откуда:
Сообщений: 10
Да, упустил, извиняюсь, необходимо, чтобы в течении этих 8 часов каждый час запускался скрипт.
13 июл 09, 16:39    [7409732]     Ответить | Цитировать Сообщить модератору
 Re: Настройка job'а  [new]
pravednik
Member

Откуда: Jacksonville, FL
Сообщений: 16268
oracle_junior
Да, упустил, извиняюсь, необходимо, чтобы в течении этих 8 часов каждый час запускался скрипт.

версия БД какая ?
13 июл 09, 16:46    [7409804]     Ответить | Цитировать Сообщить модератору
 Re: Настройка job'а  [new]
oracle_junior
Member

Откуда:
Сообщений: 10
10.2.0.4
13 июл 09, 16:48    [7409818]     Ответить | Цитировать Сообщить модератору
 Re: Настройка job'а  [new]
Oleg M.Ivanov
Member

Откуда: Москва
Сообщений: 1164
oracle_junior
Приветствую!

Необходимо запускать некий скрипт в строго определённый день в заданный интервал времени. Скажем, по четвергам с 12 дня до 8 вечера. Поиск решения как это сделать ничего не дал ... видимо плохо искал (.
Помогите пожалуйста разобраться, как создать подобный job? Или, если не трудно, поделитесь толковым тынцем по созданию и настройке заданий.

На форуме масса примеров. Надо только малость творчески к ним подойти.
13 июл 09, 17:11    [7410038]     Ответить | Цитировать Сообщить модератору
 Re: Настройка job'а  [new]
bigsov
Member

Откуда:
Сообщений: 282
расписание надо задать этой строкой:
'FREQ=HOURLY;INTERVAL=1;BYDAY=THU;BYHOUR=12,13,14,15,16,17,18,19,20;');
проверка:
+

 DECLARE
   start_date        TIMESTAMP := systimestamp;
   return_date_after TIMESTAMP;
   next_run_date     TIMESTAMP;
   begin
     dbms_scheduler.drop_schedule('schedule1');
 
     dbms_scheduler.create_schedule('schedule1',
                                  repeat_interval => 'FREQ=HOURLY;INTERVAL=1;BYDAY=THU;BYHOUR=12,13,14,15,16,17,18,19,20;');
 
  FOR i IN 1 .. 30 LOOP
 
 
      dbms_scheduler.evaluate_calendar_string('schedule1',
                                             start_date,
                                              return_date_after,
                                              next_run_date);   
      dbms_output.put_line('next_run_date: ' || next_run_date);
      return_date_after := next_run_date;
   END LOOP;
   end;


результаты
+
---
next_run_date: 16.07.09 12:20:25.900000
next_run_date: 16.07.09 13:20:25.900000
next_run_date: 16.07.09 14:20:25.900000
next_run_date: 16.07.09 15:20:25.900000
next_run_date: 16.07.09 16:20:25.900000
next_run_date: 16.07.09 17:20:25.900000
next_run_date: 16.07.09 18:20:25.900000
next_run_date: 16.07.09 19:20:25.900000
next_run_date: 16.07.09 20:20:25.900000
next_run_date: 23.07.09 12:20:25.900000
next_run_date: 23.07.09 13:20:25.900000
next_run_date: 23.07.09 14:20:25.900000
next_run_date: 23.07.09 15:20:25.900000
next_run_date: 23.07.09 16:20:25.900000
next_run_date: 23.07.09 17:20:25.900000
next_run_date: 23.07.09 18:20:25.900000
next_run_date: 23.07.09 19:20:25.900000
next_run_date: 23.07.09 20:20:25.900000
next_run_date: 30.07.09 12:20:25.900000
next_run_date: 30.07.09 13:20:25.900000
next_run_date: 30.07.09 14:20:25.900000
next_run_date: 30.07.09 15:20:25.900000
next_run_date: 30.07.09 16:20:25.900000
next_run_date: 30.07.09 17:20:25.900000
next_run_date: 30.07.09 18:20:25.900000
next_run_date: 30.07.09 19:20:25.900000
next_run_date: 30.07.09 20:20:25.900000
next_run_date: 06.08.09 12:20:25.900000
next_run_date: 06.08.09 13:20:25.900000
next_run_date: 06.08.09 14:20:25.900000


еще очень рекомендую почитать здесь раздел User Defined Frequencies.
13 июл 09, 18:28    [7410461]     Ответить | Цитировать Сообщить модератору
 Re: Настройка job'а  [new]
oracle_junior
Member

Откуда:
Сообщений: 10
Спасибо всем за помощь. Буду пробовать. Я просто думал, что данную задачу можно как-нибудь реализовать ограничившись только DBMS_JOB, но видимо этого сделать нельзя...
14 июл 09, 08:15    [7411467]     Ответить | Цитировать Сообщить модератору
 Re: Настройка job'а  [new]
Elic
Member

Откуда:
Сообщений: 29979
oracle_junior
Я просто думал, что данную задачу можно как-нибудь реализовать ограничившись только DBMS_JOB, но видимо этого сделать нельзя...
Можно
14 июл 09, 08:23    [7411481]     Ответить | Цитировать Сообщить модератору
 Re: Настройка job'а  [new]
oracle_junior
Member

Откуда:
Сообщений: 10
Elic
oracle_junior
Я просто думал, что данную задачу можно как-нибудь реализовать ограничившись только DBMS_JOB, но видимо этого сделать нельзя...
Можно

Спасибо, разобрался!
14 июл 09, 16:49    [7414730]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить