powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / dbms_job и interval
23 сообщений из 23, страница 1 из 1
dbms_job и interval
    #39341527
Moss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем добрый день!

есть сабмит джоба:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
begin
  sys.dbms_job.submit(job => 123123,
                      what => 'my_package.my_procedure;',
                      next_date => to_date('05-11-2016 15:50:00', 'dd-mm-yyyy hh24:mi:ss'),
                      interval => 'sysdate + 1/(24*60) * 1440');
  commit;
end;
/



interval => 'sysdate + 1/(24*60) * 1440
т.е. я его создал в 15:00 то он и будет выполнятся каждый день в 15:00

Подскажите, плиз, как можно сделать интервал к примеру с 15:00 до 18:00 каждые 30 мин ?
В доке написано:
interval - Date function, evaluated immediately before the job starts running.

Я правильно понимаю что я могу создать отдельную процедуру по вычитке времени и объявить ее переменной в declare и в interval ?

Спасибо!
...
Рейтинг: 0 / 0
dbms_job и interval
    #39341532
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Moss, уже давно The DBMS_JOB package has been superseded by the DBMS_SCHEDULER package , там возможностей намного больше.
...
Рейтинг: 0 / 0
dbms_job и interval
    #39341540
Moss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dmdmdm,
Спасибо, видел.
Нj от меня тут мало что зависит - ПО внешнее ((
сказали что нужен именно dbms_job.submit

Но за "уточнение" спасибо!
...
Рейтинг: 0 / 0
dbms_job и interval
    #39341544
Moss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CREATE OR REPLACE FUNCTION my_interval_for_job
RETURN DATE
IS
myintervar DATE;
BEGIN
SELECT
CASE
WHEN TO_CHAR(SYSDATE, 'HH24:MI') BETWEEN '15:00' AND '18:00'
THEN SYSDATE + 1/(24*60)*10
END
INTO myintervar
FROM dual;
RETURN myintervar;
END;
/
...
Рейтинг: 0 / 0
dbms_job и interval
    #39341559
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MossЯ правильно понимаю что я могу создать отдельную процедуру по вычитке времени и объявить ее переменной в declare и в interval ?Не обязательно. what - это PL/SQL код, в котором можно читать/писать специальные переменные - STFF
...
Рейтинг: 0 / 0
dbms_job и interval
    #39341560
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dmdmdmуже давно The DBMS_JOB package has been superseded by the DBMS_SCHEDULER package , там возможностей намного больше.На это преувеличение/заблуждение, навеянное любящей гиперболизировать документацией, ведутся те, кто с Oracle-ом относительно недавно.
...
Рейтинг: 0 / 0
dbms_job и interval
    #39341562
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elicdmdmdmуже давно The DBMS_JOB package has been superseded by the DBMS_SCHEDULER package , там возможностей намного больше.На это преувеличение/заблуждение, навеянное любящей гиперболизировать документацией, ведутся те, кто с Oracle-ом относительно недавно.А какие преимущества DBMS_JOB перед DBMS_SCHEDULER?
...
Рейтинг: 0 / 0
dbms_job и interval
    #39341566
Moss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic,

Спасибо, почитаю!

Для начала попробую в понедельник так:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
CREATE OR REPLACE FUNCTION my_interval_for_job 
    RETURN DATE IS
  myintervar DATE;
BEGIN
  SELECT CASE
           WHEN TO_CHAR(SYSDATE, 'HH24:MI') BETWEEN '15:00' AND '18:00' 
             THEN
            SYSDATE + 1 / (24 * 60) * 10
         END
    INTO myintervar
    FROM dual;
  RETURN myintervar;
END;
/

DECLARE 
interval_var VARCHAR2(2000) := 'my_interval_for_job';
BEGIN 
  sys.dbms_job.submit(job => 123123,
                      what => 'my_package.my_procedure;',
                      next_date => to_date('05-11-2016 15:00:00', 'dd-mm-yyyy hh24:mi:ss'),
                      interval => 'interval_var');
  COMMIT;
END;
...
Рейтинг: 0 / 0
dbms_job и interval
    #39341579
проходил мимо...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshopА какие преимущества DBMS_JOB перед DBMS_SCHEDULER?
Первый существенно проще и предсказуемей. Чего только шедулеровские таймзоны стоят...
...
Рейтинг: 0 / 0
dbms_job и interval
    #39341581
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проходил мимо...dbms_photoshopА какие преимущества DBMS_JOB перед DBMS_SCHEDULER?
Первый существенно проще и предсказуемей. Чего только шедулеровские таймзоны стоят...Oracle 8i тоже "существенно проще и предсказуемей" чем Oracle 12c.
Чего только adaptive cursor sharing, cardinality feedback не говоря уже про adaptive execution plans стоят...
...
Рейтинг: 0 / 0
dbms_job и interval
    #39341590
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshopА какие преимущества DBMS_JOB перед DBMS_SCHEDULER?1) Транзакционность .
2) Надстройка над dbms_job, функционально похожая на достаточное подмножество не существовавшего в своё время dbms_sheduler, прекрасно работает ещё с 7.3.
...
Рейтинг: 0 / 0
dbms_job и interval
    #39341599
проходил мимо...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshopOracle 8i тоже "существенно проще и предсказуемей" чем Oracle 12c.
Возможно, вас эти преимущества не интересуют, но это не повод отрицать их наличие.
Или я вас неправильно понял?
...
Рейтинг: 0 / 0
dbms_job и interval
    #39341650
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elicdbms_photoshopА какие преимущества DBMS_JOB перед DBMS_SCHEDULER?1) Транзакционность .
2) Надстройка над dbms_job, функционально похожая на достаточное подмножество не существовавшего в своё время dbms_sheduler, прекрасно работает ещё с 7.3.1) Если про неявный коммит при dbms_scheduler.create_job, то автономка спасет ситуацию.
А во-вторых, крайне затруднительно придумать разумную ситуацию с необходимостью транзакционного создания заданий.
Если же речь про коммит при выполнении, то еще более странно зачем что-то выполнять в порожденной сессии не фиксируя результат. В конце-концов, вставка rollback, опять же, должна спасти.
2) Я помню твои изобретения как альтернатива dbms_parallel_execute, не сомневаюсь и приблизительный аналог scheduler можно сделать, но подобная привязанность обоснована для существующих систем, когда "работает и не трогай" а не для новых.

dbms_scheduler появился 11 лет назад... хорошо хоть 10 лет назад, в 2006-м, меньше было тех, кто держался за функционал 1995 года. :)

З.Ы. Справедливости ради стоит отметить, что иногда на сайте Оракла можно встретить крайне идиотские рекомендации.
http://www.oracle.com/technetwork/articles/sql/11g-xe-quicktour-498681.html Recursive subquery factoring is one of Oracle’s new features for increasing compliance with ANSI SQL standard. The WITH clause, starting with 11g, can now take recursive form, meaning that it can refer to itself from inside the WITH block. Naturally, we are not saying goodbye to CONNECT BY just yet, but from now on the new WITH clause is the preferred method of working with hierarchical data.
...
Рейтинг: 0 / 0
dbms_job и interval
    #39341651
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проходил мимо...dbms_photoshopOracle 8i тоже "существенно проще и предсказуемей" чем Oracle 12c.
Возможно, вас эти преимущества не интересуют, но это не повод отрицать их наличие.
Или я вас неправильно понял?Мне казалось что аналогия достаточно понятна.
Если тебе что-то кажется сложным или не умеешь его готовить, то это не может считаться разумным обоснованием для других.
...
Рейтинг: 0 / 0
dbms_job и interval
    #39341672
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshop1) Если про неявный коммит при dbms_scheduler.create_job, то автономка спасет ситуацию.Автономка - это атранзакционность.
Транзакционность в том, что создастся (изменится) или же нет задание зависит от того, как завершится транзакция.
dbms_photoshop2) Я помню твои изобретения как альтернатива dbms_parallel_execute1) Это, как и в большинстве случаев, всего лишь форумная эквилибристика.
2) Это не могло быть альтернативой, потому что в марте 2007-го такого пакета просто не было.
dbmspexe.sql
Код: plsql
1.
Rem    achoi       09/25/07 - Created


3) Ты слегка преувеличиваешь его возможности, а точнее (не)предназначение исполнять PL/SQL
dbms_photoshopне сомневаюсь и приблизительный аналог scheduler можно сделать, но подобная привязанность обоснована для существующих систем, когда "работает и не трогай" а не для новых.Чувствуется подход DBA - ломать не строить. Что проще сопровождать: одну реализацию планировщика как интегрированной части информационной системы или две (причём вторую ещё нужно сделать)?
dbms_photoshopdbms_scheduler появился 11 лет назад...Ты чересчур оптимистично считаешь время. Новые фичи годны только для форумной (тестовой) эквилибристики в течении нескольких лет, пока версия не устаканится.
...
Рейтинг: 0 / 0
dbms_job и interval
    #39341723
евент жоб
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ElicТранзакционность в том, что создастся (изменится) или же нет задание зависит от того, как завершится транзакция.Джоб можно создать заранее, а запускать по итогам транзакции. Это согласуется с нетранзакционностью ddl.
...
Рейтинг: 0 / 0
dbms_job и interval
    #39341725
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
евент жобElicТранзакционность в том, что создастся (изменится) или же нет задание зависит от того, как завершится транзакция.Джоб можно создать заранее, а запускать по итогам транзакции. Это согласуется с нетранзакционностью ddl.Задания могут быть одноразовыми. И разными (с разными параметрами).
...
Рейтинг: 0 / 0
dbms_job и interval
    #39341807
veep
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshopdbms_scheduler появился 11 лет назад...Ты чересчур оптимистично считаешь время. Новые фичи годны только для форумной (тестовой) эквилибристики в течении нескольких лет, пока версия не устаканится.[/quot]

Новые фичи вполне работают почти сразу при наличии нормально проплаченной поддержки и умение взаимодействовать с support, а также когда они внедряются согласно Change Management процессу а не по методу ".... и в продакшн"
Ну внедрение новых фич как правило откалыдывается на год после появления, это связанно с планированием.
...
Рейтинг: 0 / 0
dbms_job и interval
    #39341816
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
veep,

Ха! Больше года может улететь только с момента принятия решения, что пора бы и обновляться на новую версию, до окончания тестирования оной. А само решение может родиться уже при приближении срока окончания поддержки)
...
Рейтинг: 0 / 0
dbms_job и interval
    #39341820
veep
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xtenderveep,

Ха! Больше года может улететь только с момента принятия решения, что пора бы и обновляться на новую версию, до окончания тестирования оной. А само решение может родиться уже при приближении срока окончания поддержки)

Ну в реалиях так обычно и бывает :) Но подход не правильный по сути.
Как только появляется новая версия Оракл забивает на нормальный супорт старой. Вроде как формально поддерживиет, но нормальных патчей уже не выходит (выходит что то типа bug fix of bug fix). В итоге проблемы обнаруженные проблемы в 11g скорее всего в 11g так и останутся. Мигрировать на новую версию - значит получить шанс получить более менее качественный супорт.
...
Рейтинг: 0 / 0
dbms_job и interval
    #39341923
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
veepНовые фичи вполне работают почти сразу при наличии нормально проплаченной поддержки и умение взаимодействовать с supportНовые фичи для разработчика слишком ничтожны, чтобы тестируя их ещё и платить за поддержку. Это садомазосекс.
...
Рейтинг: 0 / 0
dbms_job и interval
    #39342039
veep
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ElicveepНовые фичи вполне работают почти сразу при наличии нормально проплаченной поддержки и умение взаимодействовать с supportНовые фичи для разработчика слишком ничтожны, чтобы тестируя их ещё и платить за поддержку. Это садомазосекс.

Ну вообще поддержка как правило уже оплачена. Не вижу смысла в чистом лицензировании без поддержки.

А новые фичи вовсе не ничтожны.
dbms_schedule на вскидку может запускать не только PL/SQL модули, но и внешние executables. Кроме того появилось понятие SCHEDULE WINDOWS. В итоге имеем очень гибкие и маштабируемые джобы. Для Оракла это фактически революция. DBMS_JOB был ад для разработчика ибо был мало прогибаем.
...
Рейтинг: 0 / 0
dbms_job и interval
    #39342331
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ад был не для всех
А как сказал Elic запуск задания по завершению (или не запуск при откате) транзакции было прогнозируемым и предсказуемым поведением
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / dbms_job и interval
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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