Search code examples
oracle-databaseschedulerjob-schedulingdbms-schedulerdbms-job

DBMS_JOB vs DBMS_SCHEDULER


What is the difference between DBMS_JOB and DBMS_SCHEDULER ?


Solution

  • From other forums:

    Although dbms_job still exists in 10g and 11g, Oracle recommends the use of dbms_scheduler in releases 10g and up. No new features are being added to dbms_job and you will likely quickly run into its limitations.

    dbms_scheduler is more robust and fully-featured than dbms_job and includes the following features that dbms_job does not have :

    • logging of job runs (job history)
    • simple but powerful scheduling syntax (similar to but more powerful than cron syntax)
    • running of jobs outside of the database on the operating system
    • resource management between different classes of jobs
    • use of job arguments including passing of objects into stored procedures
    • privilege-based security model for jobs
    • naming of jobs and comments in jobs
    • stored, reusable schedules

    Features in releases after 10g Release 1 include :

    • dependencies between job units (10gR2 and up)
    • scheduling based on financial calendars and fiscal quarters (10gR2 and up)
    • event based jobs which run when an event is received (10gR2 and up)
    • running of jobs on remote machines (11gR1 and up)
    • e-mail notifications on job events of interest (10gR2 and up)
    • starting a job based on arrival of a file (10gR2 and up)