Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Как создать джоб, который запускался тока принудительно.  [new]
Aleksandr Rafailov
Member

Откуда:
Сообщений: 14
Дорогие коллеги, я новичок. Помогите по данному вопросу. Мне нужно создать джоб, который бы срабатывал не по времени, а принудительно из процедуры.
А также как создать дубликат джоба, который бы запускался одновременно с оригиналом.
28 ноя 07, 15:31    [4976049]     Ответить | Цитировать Сообщить модератору
 Re: Как создать джоб, который запускался тока принудительно.  [new]
Jannny
Member

Откуда: Спб
Сообщений: 6424
А зачем именно джоб? Кто-то задание так поставил? :)
28 ноя 07, 15:32    [4976056]     Ответить | Цитировать Сообщить модератору
 Re: Как создать джоб, который запускался тока принудительно.  [new]
Aleksandr Rafailov
Member

Откуда:
Сообщений: 14
Да, именно. Я буду его испытывать на тестовом сервере. А потом уже буду переходить на боевой, чтоб там уже существующий джоб запускать.
28 ноя 07, 15:34    [4976073]     Ответить | Цитировать Сообщить модератору
 Re: Как создать джоб, который запускался тока принудительно.  [new]
tru55
Member

Откуда: СПб
Сообщений: 19792
принудительный запуск job - dbms_job.run
28 ноя 07, 15:36    [4976095]     Ответить | Цитировать Сообщить модератору
 Re: Как создать джоб, который запускался тока принудительно.  [new]
Jannny
Member

Откуда: Спб
Сообщений: 6424
Давайте иначе - что Вы подразумеваете под словом "джоб"?
28 ноя 07, 15:36    [4976100]     Ответить | Цитировать Сообщить модератору
 Re: Как создать джоб, который запускался тока принудительно.  [new]
Aleksandr Rafailov
Member

Откуда:
Сообщений: 14
tru55
принудительный запуск job - dbms_job.run

В курсе, мне нужно создать джобу, которую нужно запускать
28 ноя 07, 15:38    [4976112]     Ответить | Цитировать Сообщить модератору
 Re: Как создать джоб, который запускался тока принудительно.  [new]
tru55
Member

Откуда: СПб
Сообщений: 19792
Aleksandr Rafailov
tru55
принудительный запуск job - dbms_job.run

В курсе, мне нужно создать джобу, которую нужно запускать


dbms_job.submit

PS и не забыть COMMIT
28 ноя 07, 15:39    [4976130]     Ответить | Цитировать Сообщить модератору
 Re: Как создать джоб, который запускался тока принудительно.  [new]
Aleksandr Rafailov
Member

Откуда:
Сообщений: 14
Jannny
Давайте иначе - что Вы подразумеваете под словом "джоб"?

То и подруземеваю, процедура, которая отрабатывает по истечению какого времени. Но можно ли создать такую джобу, которая была бы заморожена, пока ее не запустят принудительно.
28 ноя 07, 15:39    [4976132]     Ответить | Цитировать Сообщить модератору
 Re: Как создать джоб, который запускался тока принудительно.  [new]
зы
Guest
Aleksandr Rafailov
Jannny
Давайте иначе - что Вы подразумеваете под словом "джоб"?

То и подруземеваю, процедура, которая отрабатывает по истечению какого времени. Но можно ли создать такую джобу, которая была бы заморожена, пока ее не запустят принудительно.

а зачем Вам иммено джоб?
непаняяяяятнааа :)
28 ноя 07, 15:46    [4976188]     Ответить | Цитировать Сообщить модератору
 Re: Как создать джоб, который запускался тока принудительно.  [new]
Aleksandr Rafailov
Member

Откуда:
Сообщений: 14
зы
Aleksandr Rafailov
Jannny
Давайте иначе - что Вы подразумеваете под словом "джоб"?

То и подруземеваю, процедура, которая отрабатывает по истечению какого времени. Но можно ли создать такую джобу, которая была бы заморожена, пока ее не запустят принудительно.

а зачем Вам иммено джоб?
непаняяяяятнааа :)

Потому что в задании дано: запустить джоб.
28 ноя 07, 15:49    [4976217]     Ответить | Цитировать Сообщить модератору
 Re: Как создать джоб, который запускался тока принудительно.  [new]
CBO
Guest
Aleksandr Rafailov
зы
Aleksandr Rafailov
Jannny
Давайте иначе - что Вы подразумеваете под словом "джоб"?

То и подруземеваю, процедура, которая отрабатывает по истечению какого времени. Но можно ли создать такую джобу, которая была бы заморожена, пока ее не запустят принудительно.

а зачем Вам иммено джоб?
непаняяяяятнааа :)

Потому что в задании дано: запустить джоб.

Спросите у постановщика, что он понимает под понятием джоб )
28 ноя 07, 16:01    [4976331]     Ответить | Цитировать Сообщить модератору
 Re: Как создать джоб, который запускался тока принудительно.  [new]
fortnet
Member

Откуда:
Сообщений: 526
Запускать job вручную можно, если выставить большой временной интервал следующего запуска.
автор

А также как создать дубликат джоба, который бы запускался одновременно с оригиналом.

Создайте два задания и запускайте их сами одновременно.
28 ноя 07, 16:02    [4976342]     Ответить | Цитировать Сообщить модератору
 Re: Как создать джоб, который запускался тока принудительно.  [new]
Aleksandr Rafailov
Member

Откуда:
Сообщений: 14
fortnet
Запускать job вручную можно, если выставить большой временной интервал следующего запуска.
автор

А также как создать дубликат джоба, который бы запускался одновременно с оригиналом.

Создайте два задания и запускайте их сами одновременно.

Мне нужно запускать джобу, а если ситуация критичная, то несколько одинаковых джоб, которые будут выполнять одно и то же. И так, все как это сделать, подскажите.
28 ноя 07, 16:40    [4976647]     Ответить | Цитировать Сообщить модератору
 Re: Как создать джоб, который запускался тока принудительно.  [new]
Elic
Member

Откуда:
Сообщений: 30178
Aleksandr Rafailov
автор
А также как создать дубликат джоба, который бы запускался одновременно с оригиналом.
Мне нужно запускать джобу, а если ситуация критичная, то несколько одинаковых джоб, которые будут выполнять одно и то же. И так, все как это сделать, подскажите.
Надо просто по мере надобности submit-ить нужное количество одноразовых заданий. И всё.
28 ноя 07, 16:46    [4976720]     Ответить | Цитировать Сообщить модератору
 Re: Как создать джоб, который запускался тока принудительно.  [new]
Aleksandr Rafailov
Member

Откуда:
Сообщений: 14
Надо просто по мере надобности submit-ить нужное количество одноразовых заданий. И всё.[/quot]
Можно пример?
28 ноя 07, 16:48    [4976735]     Ответить | Цитировать Сообщить модератору
 Re: Как создать джоб, который запускался тока принудительно.  [new]
ditbunau
Member

Откуда: оттуда
Сообщений: 717
Aleksandr Rafailov
Надо просто по мере надобности submit-ить нужное количество одноразовых заданий. И всё.

Можно пример?[/quot]

declare
  jb number;
begin
  dbms_job.submit(jb,'bla_bla;',sysdate);
 commit;
end;
/


28 ноя 07, 16:53    [4976773]     Ответить | Цитировать Сообщить модератору
 Re: Как создать джоб, который запускался тока принудительно.  [new]
Elic
Member

Откуда:
Сообщений: 30178
Aleksandr Rafailov
Можно пример?
RTFM dbms_job.submit
STFF Параллельная обработка данных из процедуры
28 ноя 07, 16:55    [4976787]     Ответить | Цитировать Сообщить модератору
 Re: Как создать джоб, который запускался тока принудительно.  [new]
stranger.
Member

Откуда: ... а откуда не скажу
Сообщений: 236
Aleksandr Rafailov
fortnet
Запускать job вручную можно, если выставить большой временной интервал следующего запуска.
автор

А также как создать дубликат джоба, который бы запускался одновременно с оригиналом.

Создайте два задания и запускайте их сами одновременно.

Мне нужно запускать джобу, а если ситуация критичная, то несколько одинаковых джоб, которые будут выполнять одно и то же. И так, все как это сделать, подскажите.



dbms_job.submit позволяет как запустить задание как немедленно, в конкретный момент времени
dbms_job.submit(l_job, '...');
так и через интервал
DBMS_JOB.SUBMIT
    ( job       => X 
     ,what      => '...;'
     ,next_date => to_date('29.11.2007 01:00:00','dd/mm/yyyy hh24:mi:ss')
     ,interval  => '(TRUNC (SYSDATE) + 1) + (1/24)'
     ,no_parse  => TRUE
    );

commit;

подробнее
28 ноя 07, 16:57    [4976802]     Ответить | Цитировать Сообщить модератору
 Re: Как создать джоб, который запускался тока принудительно.  [new]
Elic
Member

Откуда:
Сообщений: 30178
Ещё пример
28 ноя 07, 17:00    [4976831]     Ответить | Цитировать Сообщить модератору
 Re: Как создать джоб, который запускался тока принудительно.  [new]
Aleksandr Rafailov
Member

Откуда:
Сообщений: 14
Спасибо всем, отдельно Elic. Посмотрим что из этого получится.
28 ноя 07, 17:03    [4976859]     Ответить | Цитировать Сообщить модератору
 Re: Как создать джоб, который запускался тока принудительно.  [new]
афтар777
Guest
Aleksandr Rafailov
Спасибо всем, отдельно Elic. Посмотрим что из этого получится.

дофига джобов получится
28 ноя 07, 17:13    [4976952]     Ответить | Цитировать Сообщить модератору
 Re: Как создать джоб, который запускался тока принудительно.  [new]
TiG
Member

Откуда:
Сообщений: 780
афтар777
Aleksandr Rafailov
Спасибо всем, отдельно Elic. Посмотрим что из этого получится.

дофига джобов получится
Ну и что, если они одноразовые.
А чтобы создать джоб, но не запускать, можно делать так:
declare
  l_job number;
begin
  dbms_job.submit(l_job, 'begin /*1*/ null; end;'); 
  dbms_job.submit(l_job, 'begin /*2*/ null; end;'); 
  dbms_job.broken(l_job, true);   
  commit;
end;
Первый запускаем сразу, а второй "запускаем" потом так:
declare
  l_job number;
begin
  select job into l_job from user_jobs where what = 'begin /*2*/ null; end;'; 
  dbms_job.broken(l_job, false);   
  commit;
end;
Но вообще конечно джобы создавать надо когда они нужны, а не "на всякий случай на будущее" ;-)
28 ноя 07, 17:29    [4977056]     Ответить | Цитировать Сообщить модератору
 Re: Как создать джоб, который запускался тока принудительно.  [new]
Aleksandr Rafailov
Member

Откуда:
Сообщений: 14
TiG
афтар777
Aleksandr Rafailov
Спасибо всем, отдельно Elic. Посмотрим что из этого получится.

дофига джобов получится
Ну и что, если они одноразовые.
А чтобы создать джоб, но не запускать, можно делать так:
declare
  l_job number;
begin
  dbms_job.submit(l_job, 'begin /*1*/ null; end;'); 
  dbms_job.submit(l_job, 'begin /*2*/ null; end;'); 
  dbms_job.broken(l_job, true);   
  commit;
end;
Первый запускаем сразу, а второй "запускаем" потом так:
declare
  l_job number;
begin
  select job into l_job from user_jobs where what = 'begin /*2*/ null; end;'; 
  dbms_job.broken(l_job, false);   
  commit;
end;
Но вообще конечно джобы создавать надо когда они нужны, а не "на всякий случай на будущее" ;-)

Спасибо за все написаное, однако я не совсем понимаю, что все это означает. Можно в двух предложениях написать что тут запрограммировано. И еще функция broken означает что то типа отключения работы джобы до принудительного запуска?правильно я понимаю?...
28 ноя 07, 17:59    [4977314]     Ответить | Цитировать Сообщить модератору
 Re: Как создать джоб, который запускался тока принудительно.  [new]
Elic
Member

Откуда:
Сообщений: 30178
Aleksandr Rafailov
однако я не совсем понимаю, что все это означает. Можно в двух предложениях написать что тут запрограммировано.
Студент? Лаба?! Тебе накидали примеров, а ты наглеешь?!!
28 ноя 07, 18:03    [4977338]     Ответить | Цитировать Сообщить модератору
 Re: Как создать джоб, который запускался тока принудительно.  [new]
TiG
Member

Откуда:
Сообщений: 780
Elic
Aleksandr Rafailov
однако я не совсем понимаю, что все это означает. Можно в двух предложениях написать что тут запрограммировано.
Студент? Лаба?! Тебе накидали примеров, а ты наглеешь?!!
О, студент ! Тогда вперед за учебником ;-)
28 ноя 07, 18:18    [4977419]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Oracle Ответить