Рассмотрим теперь основные процедуры пакета DBMS_JOB.
SUBMIT,ISUBMIT– процедуры, которые посылают задание на выполнение. Аргументы процедуры:
job OUT BINARY_INTEGER,( job IN BINARY_INTEGER для ISUBMIT),
what IN VARCHAR2,
next_date IN DATE DEFAULT sysdate,
interval IN VARCHAR2 DEFAULT 'null',
no_parse IN BOOLEAN DEFAULT FALSE,
instance IN BINARY_INTEGER DEFAULT 0,
force IN BOOLEAN DEFAULT FALSE
job - это идентификатор задания. Является выходным аргументом для SUBMIT, и входным для ISUBMIT. Его используют, когда нужно получить информацию о конкретном заданий ( через представления user_jobs или dba_jobs) или произвести определенные манипуляции заданием.
what - аргумент определяет, что конкретно нужно сделать. Параметр передается в форме символьной строки в одинарных кавычках, заканчивающейся точкой с запятой.
next_date – время следующего выполнения. Если мы только создаем задание, то это время первого выполнения. По умолчанию –sysdate. В дальнейшем этот параметр вычисляется в соответствии со значением параметра Interval и даты и времени фактического выполнения.
interval- сюда мы должны поместить функцию с помощью которой будет задан временной интервал для задания, которое будет выполнятся регулярно. Если выражение параметра принимает значение NULL, после выполнения задание удаляется из очереди.
no_parse- по умолчанию - FALSE, это значит параметр what будет проверятся на выполняемость. Если TRUE – WHAT не проверяется на допустимость.
instance – указывается экземпляр, на котором будет выполняться задание ( только для Parallel server).
force – если False: задание завершается неудачно, если указанный экземпляр недоступен. (только для Parallel server).
Задание посылается на выполнение пользователем, идентификатор пользователя ассоциируется с эти заданием. Дальнейшая работа с этим заданием (удаление, изменение) возможна только этим пользователем.
1. Перечислите функции пакета DBMS_JOB и их назначение.
· DBMS_JOB.SUBMIT – создание задания
· DBMS_JOB.ISUBMIT – создание задания с указанием номера
· DBMS_JOB.INSTANCE – выбор экземпляра для выполнения
· DBMS_JOB.REMOVE – удаление задания
· DBMS_JOB.RUN – немедленное выполнение
· DBMS_JOB.CHANGE – изменение параметров
· DBMS_JOB.WHAT – изменение задания
· DBMS_JOB.NEXT_DATE – изменение следующей даты выполнения
· DBMS_JOB.INTERVAL – изменение интервала выполнения
2. Перечислите функции пакета DBMS_SHEDULLE, и расскажите о их назначении.create_job, create_shedule, create_program, enable, disable, drop_job, drop_shedule, drop_program.
3. Для каких целей применяется технология JOB.
4. Как установить максимальное количество одновременно работаю JOB.