← Scheduler & Jobs
Oracle · Scheduler & Jobs

How to create a job with DBMS_SCHEDULER in Oracle

Create a scheduler job with DBMS_SCHEDULER.CREATE_JOB on a calendar repeat_interval, then verify it was scheduled.

Tested on11g12c18c19c21c23ai26ai

Create a Scheduler job that runs a PL/SQL block on a calendar schedule, then confirm it is scheduled.

This creates and enables a job that will run on its own schedule. Set the action and repeat_interval to your needs before running.

BEGIN
  DBMS_SCHEDULER.CREATE_JOB(
    job_name        => '&&job_name',
    job_type        => 'PLSQL_BLOCK',
    job_action      => 'BEGIN NULL; END;',
    start_date      => SYSTIMESTAMP,
    repeat_interval => 'FREQ=DAILY; BYHOUR=2; BYMINUTE=0; BYSECOND=0',
    enabled         => TRUE,
    comments        => 'Created by DBA');
END;
/

-- Verify (read-only)
SELECT job_name, enabled, state,
       TO_CHAR(next_run_date,'YYYY-MM-DD HH24:MI') AS next_run
FROM   dba_scheduler_jobs
WHERE  job_name = UPPER('&job_name');
DBMS_SCHEDULERCREATE_JOBScheduler