Use lightweight jobs when you have many short-duration jobs that run frequently. Under certain circumstances, using lightweight jobs can deliver a small performance gain.
Lightweight jobs have the following characteristics:
- Unlike regular jobs, they are not schema objects.
- They have a significant improvement in create and drop time over regular jobs because they do not have the overhead of creating a schema object.
- They have lower average session creation time than regular jobs.
- They have a small footprint on disk for job metadata and runtime data.
You designate a lightweight job by setting the job_style job attribute to LIGHTWEIGHT. The other job style is REGULAR, which is the default.
Like programs and schedules, regular jobs are schema objects. In releases before Oracle Database 11g Release 1, regular jobs were the only job style supported by the Scheduler.
A regular job offers the maximum flexibility but does entail some overhead when it is created or dropped. The user has fine-grained control of the privileges on the job, and the job can have as its action a program or a stored procedure owned by another user.
If a relatively small number of jobs that run infrequently need to be created, then regular jobs are preferred over lightweight jobs.
A lightweight job must reference a program object (program) to specify a job action. The program must be already enabled when the lightweight job is created, and the program type must be either PLSQL_BLOCK or STORED_PROCEDURE. Because lightweight jobs are not schema objects, you cannot grant privileges on them. A lightweight job inherits privileges from its specified program. Thus, any user who has a certain set of privileges on the program has corresponding privileges on the lightweight job.