powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / "Проблемы" с JOB в Oracle.
14 сообщений из 14, страница 1 из 1
"Проблемы" с JOB в Oracle.
    #32079713
Sergey M. Medvedev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здраствуйте.
Есть такая задача: необходимо каждый день в 00:00 запускать процедуру в Oracle.
Сделано с помощью JOB. Первый раз процедура выполняется ровно в 00:00, а вот следующие разы: 00:06, 00:12, 00:20 и т.д. Т.е. идет приращение, равное времени выполнения процедуры. Как это убрать. Пробовал в процедуре менять параметры JOB:
dbms_job.next_date(1, trunc(sysdate + 1)); - не работает.
Как решить эту проблему? Может использовать DDL?
...
Рейтинг: 0 / 0
"Проблемы" с JOB в Oracle.
    #32080174
tefalik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня так: TRUNC(SYSDATE,'HH24')+1
...
Рейтинг: 0 / 0
"Проблемы" с JOB в Oracle.
    #32080585
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Как решить эту проблему? Может использовать DDL?

а использовать dbms_job.interval не пробовали?
...
Рейтинг: 0 / 0
"Проблемы" с JOB в Oracle.
    #32080856
Sergey M. Medvedev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В каком месте нужно использовать dbms_job.interval ?
Я интервал задал при создании job с помощью dbms_job.submit
Дело то в том, что этот интервал работает как задержка перед следующим выполнением job, а мне нужно по расписанию (т.е. точно в 00:00 каждый день).

Дело в том, что если в конце процедуры, которая выполняется по job, вставить
dbms_job.next_date, то оно не сработает...
...
Рейтинг: 0 / 0
"Проблемы" с JOB в Oracle.
    #32080902
Фотография killed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TRUNC(SYSDATE+1)+5.5/24 - ежедневно в 5.30 утра
...
Рейтинг: 0 / 0
"Проблемы" с JOB в Oracle.
    #32081014
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>В каком месте нужно использовать dbms_job.interval ?

Использовать можно в любом месте :-)
Приведите выборку из вью user_jobs тогда будет понятно о чем речь и почему так работает. У меня, например, независимо от длительности джоба все стартует с равной периодичностью без проблем.
...
Рейтинг: 0 / 0
"Проблемы" с JOB в Oracle.
    #32081604
James
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не знаю решили Вы проблему или нет,
но скорее всего Ваш job выполняется с ошибкой,
поэтому он и выполняется заново. Причем интервалы времени увеличиваются
в геом. прогорессии(кажется). Так макс 16 раз.
Если я прав или причина оказалась в другом, сообщите пжл ldn@inbox.ru
...
Рейтинг: 0 / 0
"Проблемы" с JOB в Oracle.
    #32081946
Sergey M. Medvedev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблему решил запуском
dbms_job.next_date(1, trunc(sysdate + 1));
из внешнего скрипта. Но хочется сделать по человечески...

После одного запуска в 00:00 сделал select * from user_jobs;

LAST_DATE: 19-дек-2002 0:00:05
LAST_SEC: 00:00:05 (т.е время завершения предыдущего job.)
NEXT_DATE: 20-дек-2002
NEXT_SEC: 00:00:05

TOTAL_TIME: 4 (что это такое???)
FAILURES: 0 (т.е. все хорошо).
...
Рейтинг: 0 / 0
"Проблемы" с JOB в Oracle.
    #32081959
James
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Total_time - это общее время, затраченное на выполнение работы.
Так что все ок!
...
Рейтинг: 0 / 0
"Проблемы" с JOB в Oracle.
    #32082010
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>LAST_DATE: 19-дек-2002 0:00:05
>LAST_SEC: 00:00:05 (т.е время завершения предыдущего job.)
>NEXT_DATE: 20-дек-2002
>NEXT_SEC: 00:00:05
>
>TOTAL_TIME: 4 (что это такое???)
>FAILURES: 0 (т.е. все хорошо).

И где INTERVAL ??? is null ? Вы пробовали dbms_job.interval?
...
Рейтинг: 0 / 0
"Проблемы" с JOB в Oracle.
    #32082044
Sergey M. Medvedev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
INTERVAL: sysdate + 1
...
Рейтинг: 0 / 0
"Проблемы" с JOB в Oracle.
    #32082073
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
измените interval на trunc(SYSDATE+1,'HH') и все заработает.
...
Рейтинг: 0 / 0
"Проблемы" с JOB в Oracle.
    #32082213
Sergey M. Medvedev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо! Все заработало!
...
Рейтинг: 0 / 0
"Проблемы" с JOB в Oracle.
    #32082269
Nobody
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да! У нас есть аналогичная проблема, только следующий запуск происходит вообще произвольно, а также может и не запуститься. Какие ещё тонкости могут быть?
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / "Проблемы" с JOB в Oracle.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]