Archive for March, 2011

Oracle DBMS_SCHEDULER Part 3 – Job Chains

A job chain is a series of jobs chained together via dependencies. Today’s post walks through creating a 3 job chain.

The first step is to create our programs. I described creating dbms_scheduler programs in the previous entry, Oracle DBMS SCHEDULER Part 2 – The API.

These are very simple programs with no arguments. You can use SQL Developer to create these or just write the SQL yourself.

This is the SQL I used:

BEGIN
    sys.dbms_scheduler.create_program(
        program_name => 'SCOTT.PROGRAM1',
        program_action => 'SCOTT.PROCEDURE1',
        program_type => 'STORED_PROCEDURE',
        number_of_arguments => 0,
        comments => NULL,
        enabled => FALSE);

    sys.DBMS_SCHEDULER.ENABLE(name=>'SCOTT.PROGRAM1');    

    sys.dbms_scheduler.create_program(
        program_name => 'SCOTT.PROGRAM2',
        program_action => 'SCOTT.PROCEDURE2',
        program_type => 'STORED_PROCEDURE',
        number_of_arguments => 0,
        comments => NULL,
        enabled => FALSE);

    sys.DBMS_SCHEDULER.ENABLE(name=>'SCOTT.PROGRAM2');    

    sys.dbms_scheduler.create_program(
        program_name => 'SCOTT.PROGRAM3',
        program_action => 'SCOTT.PROCEDURE3',
        program_type => 'STORED_PROCEDURE',
        number_of_arguments => 0,
        comments => NULL,
        enabled => FALSE);

    sys.DBMS_SCHEDULER.ENABLE(name=>'SCOTT.PROGRAM3');
END;
/

Once the programs are created, I create the chain itself.

Click to continue reading “Oracle DBMS_SCHEDULER Part 3 – Job Chains”

Read the rest of this entry »