INTERVAL — вычисляемая дата следующего выполнения задания в столбце NEXT_DATE.
Примеры интервала задания:
NULL
Задание выполнится однократно и удалится.
TRUNC (SYSDATE+1) +10/24
Задание будет выполняться ровно в 10 часов каждого дня.
TRUNC (SYSDATE+1) + (11+ (15/60)) /24
Задание будет выполняться ровно в 11 часов 15 минут каждого дня.
TRUNC (LAST_DAY (SYSDATE)) + (n+ (m/60)) /24
Задание будет выполняться ровно в n часов m минут последнего дня каждого месяца.
TRUNC (LAST_DAY (SYSDATE) +1) + (n+ (m/60)) /24
Задание будет выполняться ровно в n часов m минут первого дня каждого месяца;
NO_PARSE — флаг разбора PL/SQL-выражения. Если его значение равно FALSE, разбор происходит в момент установки задания. Иначе — в момент выполнения задания;
INSTANCE — какой экземпляр производит выполнение задания;
FORCE — если значение этого параметра истинно, тогда в качестве INSTANCE может выступать любое положительное целое число. В противном случае экземпляр, указанный в INSTANCE, должен быть обязательно запущен, иначе будет вызвано исключение.
Пример 1. Создание задания
Таблица AUTO будет очищаться каждый день в 1 час 5 минут.
Пример 2. Cозданиe задания
Таблица будет очищаться каждый день в 3 часа 5 минут и заполняться данными из AUTO1.
Пример 3
Таблица будет очищаться каждый день в 3 часа 5 минут и заполняться данными из AUTO1.
Удаление задания можно сделать следующей процедурой:
Здесь JOB — идентификатор задачи.
Выключение задания
Бывают случаи, когда задание временно не должно выполняться. Для этого совсем необязательно его удалять. Достаточно его просто выключить. Выключение (включение) задания производится установкой специального флага состояния — BROKEN. Делается это с помощью следующей процедуры:
Просмотр всех заданий.
Для просмотра всех заданий используются следующие таблицы: DBA_JOBS, ALL_JOBS и USER_JOBS.
• DBA_JOBS показывает все задания (JOB);
• ALL_JOBS показывает задания (JOB) текущего пользователя;
• USER_JOBS показывает задания (JOB) текущего пользователя.
Вычисление NEXT_DATE с помощью формулы интервала происходит после выполнения задания. Поэтому всегда учитывайте это время и старайтесь не ставить NEXT_DATE на время, близкое к окончанию суток, из-за возможного неправильного расчета следующей даты выполнения.
При создании задания или изменения его параметров ORACLE записывает текущие параметры NLS владельца. Эти параметры каждый раз восстанавливаются при выполнении задания. Это может приводить к некоторым ошибкам в случае ожидания других значений. Поэтому, если необходимо, лучше производить установку нужных NLS-значений с помощью команды ALTER SESSION в параметре WHAT задания.
Задания в теле завершаются COMMIT;
Есть ли еще способы создать задание, используя планировщик заданий?
Да, есть более современный метод — DBMS_SCHEDULLER.
Как создать задание, которое бы выполнялось каждые полдня?
Пример задания:
Контрольные вопросы и задания для самостоятельного выполнения
1. Создайте задание, которое бы очищало таблицу MAN1 каждый день в 5 часов.
2. Создайте задание, которое бы запускало скрипт заполнения таблицы MAN1 таблицы MAN каждый день в 10 часов.
3. Просмотрите все задания, которые были запущены для текущего пользователя.
Шаг 88. Таблицы в ORACLE SQL. Дополнительные сведения
Мы с вами познакомились с обычными таблицами, существующими в ORACLE. Также в данной книге мы подробно разбираем работу с секционированными таблицами.
Но в ORACLE СУБД есть и другие виды таблиц.
Это таблицы, организованные по индексу, и кластеризованные таблицы.
Рассмотрим подробнее эти типы таблиц.
Таблица, организованная по индексу — INDEX ORGANIZED TABLE, IOT
Индекс-таблицы (INDEX-ORGANIZED TABLE, IOT) — такие таблицы, в которых данные хранятся в виде индексной структуры, первичный ключ представляет собой индекс на основе B-дерева.
Индекс-таблицы отличаются от традиционных тем, что в индексных таблицах данные хранятся в упорядоченном виде. Данные сортируются по первичному ключу.
Индексные таблицы имеют уникальную идентификацию по первичному ключу, не могут быть с колонками типа CLOB, BLOB. Индексные таблицы не могут быть в кластерах.
Доступ к данным к индексных таблицах осуществляется быстрее.
Читать дальше
Конец ознакомительного отрывка
Купить книгу