A program is a collection of metadata detailing what the Scheduler will run. A schedule specifies when the program will be executed. You can create a job using existing programs and schedules.
If a program is to be scheduled by a single Job, then the program can be defined within the job definition, but if the same program is to be scheduled under different circumstances and more than once, then the use of programs should be considered.
There are different kinds of programs:
PL/SQL Blocks: These are anonymous PL/SQL blocks written at program creation time.
Stored Procedures: This is a regular stored procedure PL/SQL unit.
Operating System Executables: This is a shell script or any other OS executable. Scheduling programs inside the database is a more convenient way to schedule OS tasks, this allows more integration and more control over the task execution cycle. If the regular OS Scheduler is used (crontab in Unix like systems and Task Manager on Windows platforms) then there...