29.12.2006 09:03
slava
 
Кто нибудь решал подобную задачу:

DBMS_JOB.Submit запускает процедуру.
Как внутри этой процедуры получить JobId выполняющегося задания?

PS Всех с наступающим!
29.12.2006 09:35
reddevil
 
DBMS_JOB.Submit - не запускает процедуры, а планирует задание.
Непонятно что тебе хочется, может DBA_JOBS_RUNNING поможет?
29.12.2006 09:38
OlegON
 
Пока сижу, размышляю, вопрос, а зачем?
29.12.2006 09:50
slava
 
DBMS_JOB.Submit(...
what:= 'Begin myprocedure; end;' ...);

procedure myprocedure
begin

Сюда нужен код возвращающий jobId

end myprocedure;
29.12.2006 09:54
OlegON
 
Это мы все поняли, зачем возвращающий? Может по submit полученный номер джоба оттаскивать в отдельную табличку, а потом его из процедуры забирать? Поподробнее бы описал задачу.
29.12.2006 10:07
slava
 
Цитата:
olegon Это мы все поняли, зачем возвращающий? Может по submit полученный номер джоба оттаскивать в отдельную табличку, а потом его из процедуры забирать? Поподробнее бы описал задачу.
Варианты с таблицами мы уже рассмотрели.
Нас интересует ответ на конкретный вопрос.

PS В V$Lock есть номер JobId. Но тогда надо знать номер текущей сессии. USERENV ('SESSIONID' ) возвращает 0
29.12.2006 10:13
reddevil
 
Код:
SQL> variable i number
SQL> begin
  2   dbms_job.submit(:i, 'begin null; end;');
  3  
  4  end;
  5  /

PL/SQL procedure successfully completed
i
---------
3594

SQL> print i
i
---------
3594

SQL>
не спасет отца русской демократии?
29.12.2006 10:16
slava
 
Цитата:
reddevil не спасет отца русской демократии?
Ты все прочел, что выше написано?
29.12.2006 10:22
OlegON
 
Может
Код:
select job,what from user_jobs ...
29.12.2006 10:36
slava
 
Цитата:
olegon Может
Код:
select job,what from user_jobs ...
Тода немного деталей...
Есть МАМА - основное задание выполняющее расчет.
МАМА - порождает n- магазинов дочерних заданий и должна их КОНТРОЛИРОВАТЬ.
По результатам выполнения каждый чилдрен через DBMS_Alert - оповещает МАМУ о выполнении задания (или ошибке). Чтобы МАМА могла мониторить ей надо знать кто прислал сообщение и решить : Ok или перезапуск. Alert у чилдренов одинаковый - наименование текущего задания.

К стати WHAT чилдрен ВОЗМОЖНО сможет построить сам по своим параметрам - посмотрим.
Есть еще варианты?
Часовой пояс GMT +3, время: 06:42.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.