DBMS_JOB
Параметры инициализации
  • job_queue_interval. Задает периодичность (в секундах) проверки очередей и поиска заданий, готовых к выполнению.
  • job_queue_processes. Задает количество фоновых процессов для выполнения заданий. Значением может быть целое число от 0 (по умолчанию) до 36.
ALTER SYSTEM
SET JOB_QUEUE_PROCESSES=N
Функции
  • REMOVE - Удаляет задание из очереди. Учтите, что если задание выполняется, удаление не остановит его выполнение. Для остановки выполняющегося задания необходимо прекращать работу соответствующего сеанса с помощью оператора ALTER SYSTEM.
  • CHANGE - Эта процедура работает как оператор WHAT, NEXT_DATE, UPDATE для представления JOBS. Она INTERVAL, INSTANCE, позволяет изменить любой параметр FORCE задания.
  • BROKEN - номер задания Позволяет "разрушить" или "восстановить". Разрушенное задание не выполняется. Задание, не выполнившееся NEXT_DATE успешно 16 раз подряд, автоматически помечается как разрушенное, и сервер Oracle больше не будет его выполнять.
  • RUN номер задания Выполняет задание немедленно, в приоритетном режиме (в пользовательском сеансе).
SUBMIT
PROCEDURE SUBMIT
JOB BINARY_INTEGER OUT
WHAT VARCHAR2 IN
NEXT_DATE DATE IN DEFAULT
INTERVAL VARCHAR2 IN DEFAULT
NO_PARSE BOOLEAN IN DEFAULT
INSTANCE BINARY_INTEGER IN DEFAULT
FORCE BOOLEAN IN DEFAULT
Назначение аргументов процедуры SUBMIT описано ниже.
  • JOB. Идентификатор задания.
  • WHAT. Действие, которое необходимо выполнить. Можно передавать PL/SQL- оператор или блок кода. Например, чтобы выполнить хранимую процедуру P, можно передать процедуре строку P; (включая точку с запятой). Значение пара- метра WHAT будет помещено в следующий PL/SQL-блок:
    DECLARE
    job BINARY_INTEGER := :job;
    next_date DATE := :mydate;
    broken BOOLEAN := FALSE;
    BEGIN
    WHAT
    :mydate := next_date;
    IF broken THEN :b := 1; ELSE :b := 0; END IF;
    END;
  • NEXT_DATE. Время выполнения задания. Стандартное значение — SYSDATE — означает "вы- полнять немедленно" (после фиксации транзакции).
  • INTERVAL. Строка, содержащая функцию, вычисляющую время следующего вы- полнения задания. Можно считать, что значение этой функции выбирается с по- мощью оператора 'select ... from dual'. Если передать строку sysdate+l, сервер выполнит SELECT sysdate+l INTO :NEXT_DATE FROM DUAL. Ниже описаны особенности задания интервала выполнения задания, предотвращающие его сме- щение.
  • NO_PARSE. Указывает, анализировался ли параметр WHAT при отправке зада- ния. Анализируя строку, можно определить, выполнимо ли вообще задание. В общем случае параметру NO_PARSE надо всегда оставлять стандартное значение, False. При установке значения True параметр WHAT принимается "как есть", без проверки допустимости.
  • INSTANCE. Этот параметр имеет значение только в режиме Parallel Server, когда сервер Oracle работает на кластере слабо связанных машин. Он задает экземпляр, на котором будет выполняться задание. По умолчанию он имеет значение ANY_INSTANCE.
  • FORCE. Этот параметр также имеет значение только в режиме Parallel Server. При установке значения True (принятого по умолчанию) можно посылать задание с любым идентификатором экземпляра, даже если при отправке соответствующий экземпляр недоступен. При установке значения False отправка задания завершится неудачно, если указанный экземпляр недоступен.
View
  • USER_JOBS. Список всех заданий, посланных текущим зарегистрированным пользователем. У этого представления есть также общедоступный синоним, ALL_JOBS.
  • DBA_JOBS. Полный список всех заданий, находящихся в очередях базы данных.
  • DBA_JOBS_RUNNING. Список выполняющихся заданий.
-
-
Hosted by uCoz