Ошибка при запуске операции в отдельном job - е
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
jamil Участник - экстремал
Вступление в Клуб: 11.08.2014
|
Пт Апр 17, 2015 13:17  Ошибка при запуске операции в отдельном job - е |
|
Полезность: Нет оценки
|
Задача следующая есть операция, которая на вход получает 2 даты и филиал и по этим критериям ищет кредиты (плановые, фактические операции и т.д.) и заливает их линком в базу другой системы. Теперь необходимо запускать эту операцию сразу для всех филиалов за один день в отдельном потоке.
Чтобы она отрабатывала во всех филиалах сразу, чтобы не ждать окончание для каждого филиала.
нашел такую конструкцию
Код: | sJOB_ACTION:='
declare
plp$RESULT_2 PLS_INTEGER;
begin
plp$RESULT_2 := RTL.OPEN;
Z$UNIVERS_IMP_MY_OPER.DOG_DAY_EXECUTE(THIS=>null, PLP$CLASS=>null, P_DATE1=>to_date('''||str_date||''', ''dd.mm.yyyy''), P_DATE2=>to_date('''||str_date||''', ''dd.mm.yyyy''), P_PLAN=>true, P_FACT=>true);
end;';
dbms_scheduler.create_job(job_name => 'JOB_1',
job_type => 'PLSQL_BLOCK',
job_action => sJOB_ACTION);
dbms_scheduler.run_job('JOB_1', FALSE); |
создает job и запускает в одельном потоке. Если в цыкле запустить этот блок, то создаст и запустить job, но job сразу вылетает с ошибкой. Трейс лог оракла пишет следующее.
Errors in file /u01/app/oracle/diag/rdbms/ibso/ibso/trace/ibso_j004_5365.trc:
ORA-12012: чХьязп ъЮь прБчьАъчшщущьь вптпщьО "IBS"."JOB_1"
ORA-01017: щуруЮщч ьэО ъчшЛвчрпБушО/ъпЮчшЛ; рЕчт р АьАБуэЦ впъЮуИпуБАО
ORA-06512: щп "IBS.RTL", line 4749
ORA-06512: щп line 5
Если запустить этот job в текущей сессии
Код: | dbms_scheduler.run_job('JOB_1', true); |
то отработает нормально, но принцип многопоточности исчезнет.
Может кто сталкивался с этим вопросом.
Версия ТЯ 7.1.1.6. |
|
 |
chesnok Участник со стажем
Вступление в Клуб: 25.03.2010
|
Пн Апр 20, 2015 05:52   |
|
Полезность: Нет оценки
|
Я бы посоветовал посмотреть "Выполнение текстовых заданий". Пример использования в ::[END_OD_OPERATION].[END_OD_JOB] |
|
 |
Random Эксперт
Вступление в Клуб: 27.06.2011
|
Пн Апр 20, 2015 11:14  Re: Ошибка при запуске операции в отдельном job - е |
|
Полезность: Нет оценки
|
Во-первых, rtl.open не предназначен для регистрации сессии в job-ах. Для этого есть executor.lock_open
Во-вторых, начиная с ТЯ 7.3.7.4 запуск операций из очередей, которые минуют платформу развития, будет ликвидирован. Собственно, это была дырка, и она будет закрыта. Пользуемся текстовыми заданиями, заданиями по расписанию и фоновыми процессами. |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|