Single vs. Multiple Execution Runs

The job system supports two different operational models with respect to job runs, each one providing unique flexibility and applicability to different situations.

Example: Multiple Execution Runs

As shown in the following graphic, a job runs against three targets: T1, T2 and T3. The job is run daily. When the job is submitted, it creates three executions: E11 on target T1, E12 on target T2, and E13 on target T3. The set of the executions (E11, E12, and E13) constitute Monday’s job run.

On Tuesday the job runs again and three more executions are created (E21, E22, and E23), with each execution operating independently on a different target (T1, T2, and T3). This set of the executions would be Tuesday’s job run.

graphic illustrating multiple execution runs

Example: Single Execution Runs

As with the previous example, the job is run against three targets. However, with single execution runs, each run consists of only one execution: On Monday you just one have execution (E1) that operates on all three targets. On Tuesday you have another execution (E2) that again operates on all three targets.

single execution runs

When Should You Use a Multiple-Execution Job Run

Use a multiple-execution run when there are no dependencies between targets/tasks. Typically, when you create jobs that can operate on multiple targets in a completely independent manner, you should define them as multiple execution runs. For example,if you create an OS command job, when you submit the job against multiple targets using a command parameter such as “ps -ef | grep oracle” , the command is executed independently on all the targets: Successful completion of every execution is not required for the job to complete the run. This job model would be useful in a situation where, for example, a Management Agent for one of the targets is down and the failure of a single execution will not prevent the job from running.

When Should You Use a Single-Execution Job Run

Use a single-execution run when there are dependencies between targets/tasks. You define a job using a single-execution run model when you want the job to perform dependent tasks. For example, you define a job where you want it to perform task1 on the first target, and depending on the success or failure of that task, you perform task2 on the second target, and depending on the success or failure of task2, the job performs task3 on the third target. In situations such as this, where you have a job workflow consisting of dependent tasks, you want to create a job based on the single-execution run model.

 

Related Topics

About Job Executions and Runs

About Job Status

About Job Types

About Jobs

About Blackouts

About Steps

About the Jobs Purge Policy

Creating and Editing Jobs

Deleting Jobs

Filtering the List of Jobs

Single vs. Multiple Execution Runs

Viewing Job Results

Working with Multi-Task Jobs

Working with OS Command Jobs

Working with SQL Script Jobs

About Blackouts

Enterprise Manager Information Roadmap