Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Oracle > Как создать job с интервалом запуска каждые 30 мин


Автор: Feller 14.5.2012, 12:36
Не работает процедура не выполняется. Заране спасибо за помощь.
Код

declare
   n number;
    begin
   dbms_job.submit(job => n,
              what => 'TESTp.Test;',
             next_date => trunc(sysdate)+1,
             interval => 'sysdate + (30/(24*60*60))');
 
    end;

Автор: Zloxa 14.5.2012, 13:14
Как хоть не выполняется, на что ругается?

Добавлено через 2 минуты и 22 секунды
Цитата(Feller @  14.5.2012,  13:36 Найти цитируемый пост)
next_date => trunc(sysdate)+1,

Это означает что первый запуск будет произведен с сегодня на завтра в полночь.
Так и задумывалось?

Автор: Feller 14.5.2012, 13:35
Zloxa,  Исправил  теперь trunc(sysdate). Задумывалась чтоб job  запускался каждые 30 минут . Ошибок нету тока процедура прописаная в job незапускается.

Автор: Zloxa 14.5.2012, 13:39
Цитата(Feller @  14.5.2012,  14:35 Найти цитируемый пост)
Исправил  теперь trunc(sysdate).

Теперь жоба тоже не запускается?

Если нет, посмотри
Код

select value from v$parameter where name = 'job_queue_processes';

больше нуля?

Добавлено через 1 минуту и 20 секунд
Код

select count(*) from dba_jobs_running

меньше job_queue_processes?

Добавлено через 3 минуты и 21 секунду
Цитата(Feller @  14.5.2012,  14:35 Найти цитируемый пост)
процедура прописаная в job незапускается. 

Закоммитился?

Добавлено через 5 минут и 19 секунд
Код

select * from dba_jobs


Смотрим на broken и failures

Автор: Feller 14.5.2012, 14:14
Zloxa, 
Код

1.select value from v$parameter where name = 'job_queue_processes'; равен 10 

  
Процедура сработала, ошибка была в процедуре. Теперь job буден запускатся каждый день или только текущий день?

Автор: Zloxa 14.5.2012, 14:35
При каждом запуске жоба будет вычисляться выражение указанное в interval и сохраняться в next_date. Когда жоб будет запущен в следующий раз ты можешь посмотреть dba_jobs.next_date.

Если я не ошибаюсь, выражение sysdate + (30/(24*60*60)) прибавляет 30 секунд к текущей дате. Т.о. твоя жоба будет подниматься каждые 30 секунд. 

Автор: Feller 15.5.2012, 07:14
Zloxa,  Спасибо  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)