Автоматизация повторяющихся задач — важнейший аспект управления базами данных. Планировщик СУБД Oracle предоставляет мощные возможности планирования заданий через заданные интервалы времени. В этой статье мы рассмотрим различные методы планирования повторения заданий СУБД Oracle каждые 5 минут. Мы предоставим примеры кода, демонстрирующие реализацию каждого метода, а также обсудим их преимущества и особенности.
Метод 1: использование процедуры DBMS_SCHEDULER.CREATE_JOB
BEGIN
DBMS_SCHEDULER.CREATE_JOB(
job_name => 'JOB_NAME',
start_date => SYSTIMESTAMP,
repeat_interval => 'FREQ=MINUTELY;INTERVAL=5',
job_type => 'PLSQL_BLOCK',
job_action => 'BEGIN YOUR_PLSQL_CODE; END;',
enabled => TRUE
);
END;
/
Объяснение: Этот метод использует процедуру DBMS_SCHEDULER.CREATE_JOB
для создания задания с интервалом повторения 5 минут. Укажите имя задания, дату начала, интервал повторения, тип задания (например, блок PL/SQL), действие задания (ваш код PL/SQL) и установите задание как включенное.
Метод 2: использование процедуры DBMS_SCHEDULER.CREATE_SCHEDULE
BEGIN
DBMS_SCHEDULER.CREATE_SCHEDULE(
schedule_name => 'SCHEDULE_NAME',
repeat_interval => 'FREQ=MINUTELY;INTERVAL=5'
);
DBMS_SCHEDULER.CREATE_JOB(
job_name => 'JOB_NAME',
schedule_name => 'SCHEDULE_NAME',
job_type => 'PLSQL_BLOCK',
job_action => 'BEGIN YOUR_PLSQL_CODE; END;',
enabled => TRUE
);
END;
/
Пояснение: Этот метод предполагает создание расписания с помощью процедуры DBMS_SCHEDULER.CREATE_SCHEDULE
с интервалом повторения 5 минут. Затем используйте созданное расписание в процедуре DBMS_SCHEDULER.CREATE_JOB
, чтобы прикрепить задание к расписанию.
Метод 3: использование процедуры DBMS_SCHEDULER.CREATE_PROGRAM
BEGIN
DBMS_SCHEDULER.CREATE_PROGRAM(
program_name => 'PROGRAM_NAME',
repeat_interval => 'FREQ=MINUTELY;INTERVAL=5',
program_type => 'PLSQL_BLOCK',
program_action => 'BEGIN YOUR_PLSQL_CODE; END;'
);
DBMS_SCHEDULER.CREATE_JOB(
job_name => 'JOB_NAME',
program_name => 'PROGRAM_NAME',
enabled => TRUE
);
END;
/
Пояснение: Этот метод предполагает создание программы с помощью процедуры DBMS_SCHEDULER.CREATE_PROGRAM
с интервалом повторения 5 минут. Затем создайте задание с помощью процедуры DBMS_SCHEDULER.CREATE_JOB
и свяжите его с созданной программой.
Автоматизация повторяющихся задач в СУБД Oracle упрощается благодаря функции планировщика. В этой статье мы рассмотрели три метода планирования повторения заданий каждые 5 минут. Предоставленные примеры кода демонстрируют реализацию с использованием различных процедур. Выберите метод, который лучше всего соответствует вашим требованиям, и эффективно автоматизируйте задачи управления базами данных.