Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
SQL, PL/SQL, T-SQL: запросы, DML DDL операторы, пакеты, процедуры, функции, триггеры и последовательности.
  • Страница:
  • 1

ТЕМА:

Параллельная работа функций в Oracle 12 года 9 мес. назад #2631

Можно ли при работе с Ораклом сделать так что бы запускаемая процедура или функция с клиента работала параллельно, и не приходелось бы ждать ее разультата.
Т.е. я работаю, запускаю процедуру, и продолжаю работать дальше не обращая внимания на ее работу...

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Параллельная работа функций в Oracle 12 года 9 мес. назад #2632

Такую вешь можно сделать через job, для которого не указан параметр interval. Тогда это задание выполнится единожды после наступления указанного времени, а потом автоматически удалится из списка заданий. Следует только учесть, что после вызова dbms_job.submit следует сказать commit, до него job не выполнится, хотя и будет висеть в списке заданий. Если это критично, то можно создание job'а "обернуть" в автономную транзакцию.
create table test (

  test_id number(9)

)

/

declare v_job integer;

begin

  dbms_job.submit(

      job => v_job

    , what => 'begin insert into test(test_id) values (1); end;'

    , next_date => sysdate

  );

  commit;

end;

/

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Параллельная работа функций в Oracle 12 года 9 мес. назад #2633

По поводу рекомендации Reset:
-- при запуске dbms_job активизируется snpX процесс и начинает отъедать
(в зависимости от версии) до 16 МБ памяти
-- при большом количестве сессий, которые пользуют dbms_job для распараллеливания
заданий создается очередь к процессам dbms_job (snpX) и неизвестно это улучшает
производительность или нет
-- нарушается (точнее размывается) понятие транзакции поскольку сессия,
которая активизировала dbms_job не узнает результат выполнения "дочернего" процесса.

Если все это не пугает - вперед.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от kireev.
  • Страница:
  • 1
Время создания страницы: 0.206 секунд