Не работает JOB

12345-qw
Дата: 31.05.2006 14:46:06
Есть джоб, который проверяет запущены ли джобы репликации и, если какой-нить джоб broken='Y' (например, долго не было связи), запускает процедуру в которой все выключенные джобы перезапускаются (dbms_job.run(xxx)) . Если выполнить процедуру отдельно (в плскл), все замечательно работает. Если запустить джоб, ругается:

ORA-12011: execution of 1 jobs failed
ORA-06512: at "SYS.DBMS_IJOB", line 406
ORA-06512: at "SYS.DBMS_JOB", line 272
ORA-06512: at line 2


Подскажите, в чем может быть причина? (кроме кривых рук :) )

п.с. Oracle 9.2.0.7
dmidek
Дата: 31.05.2006 14:47:04
Идите в alert.log и смотрите там ошибку ...
12345-qw
Дата: 31.05.2006 14:58:47
как это?

ORA-12012: error on auto execute of job 100
ORA-32317: cannot run a job from a job
ORA-06512: at "SYS.DBMS_IJOB", line 406
ORA-06512: at "SYS.DBMS_JOB", line 272
ORA-06512: at "SNAPADMIN.RESTART_JOBS", line 9
ORA-06512: at line 1


он не может запусить джоб из джоба?
dmidek
Дата: 31.05.2006 15:06:04
Нет.
Делайте не run, а submit + sysdate
Elic
Дата: 31.05.2006 15:07:08
12345-qw
Есть джоб, который если какой-нить джоб broken='Y', (dbms_job.run(xxx)).
А зачем run?
broken и next_date не достаточно?
softwarer
Дата: 31.05.2006 15:07:26
12345-qw
ORA-32317: cannot run a job from a job

В чем-то логично. Никогда не видел такой ошибки, но самое простое соображение - если job_queue_processes=1, эта операция приведет к deadlock-у.

Значит, вместо dbms_job.run используйте dbms_job.broken.
12345-qw
Дата: 31.05.2006 15:12:56
Все СПАСИБО за помощь!!!
Заменил run на DBMS_JOB.BROKEN (job, FALSE, sysdate);
Все заработало.