14
Copyright 2008, Oracle. All rights reserved.
Objectives
After completing this lesson, you should be able to: Simplify management tasks by using the Scheduler Create a job, program, and schedule onitor job e!ecution "se a time#based or event#based schedule for e!ecuting Scheduler jobs "se job chains to perform a series of related tasks "se advanced Scheduler concepts to prioriti$e jobs
14 - 2
Simplifying
anagement Tasks
Starting the batch load as soon as the file arrives on the file system
14 - 3
A Simple (ob
-./0
-.AT
14 - 4
attributes
14 - 5
BEGIN DBMS_SCHEDULER.CREATE_PROGRAM( program_name => CALC_STATS! " program_a#$%on => HR.UPDATE_HR_SCHEMA_STATS " program_$&pe => STORED_PROCEDURE " ena'(e) => TRUE*+ END+ ,
14 Copyright 2008, Oracle. All rights reserved.
BEGIN DBMS_SCHEDULER.CREATE_SCHEDULE( -#.e)/(e_name => -$a$-_-#.e)/(e " -$ar$_)a$e => S0STIMESTAMP" en)_)a$e => S0STIMESTAMP 1 23" repea$_%n$er4a( => 5RE6=HOURL0+INTER7AL=8 " #ommen$- => E4er& .o/r *+ END+ ,
14 - !
14 - 8
4&
onitoring a (ob
SELECT 9o'_name" -$a$/-" error:" r/n_)/ra$%on 5ROM USER_SCHEDULER_;OB_RUN_DETAILS+ ;OB_NAME <<<<<<<<<<<<<<<< GATHER_STATS_;OB STATUS ERROR: RUN_DURATION <<<<<< <<<<<< <<<<<<<<<<<< SUCCESS 3 1333 33=3>=!3 @AB@ 1333 33=33=33
PART_E?CHANGE_;OB 5AILURE
14 - "
Schedule
Time
/vent
14 - 10
14 - 12
Application
14 - 13
:ueue
14 - 14
/vent#5ased Scheduling
/vent types: "ser# or application#generated events Scheduler#generated events /vents raised by Scheduler jobs: ;OB_STARTED JOB_SCH_LIM_REACHED ;OB_SUCCEEDED JOB_DISABLED ;OB_5AILED JOB_CHAIN_STALLED ;OB_BROCEN JOB_ALL_EVENTS ;OB_COMPLETED JOB_RUN_COMPLETED ;OB_STOPPED JOB_OVER_MAX_DUR
/!ample of raising an event: DBMS_SCHEDULER.SET_ATTRIBUTE( .r.)o_'a#F/p " ra%-e_e4en$- " DBMS_SCHEDULER.;OB_5AILED*+
14 - 1 Copyright 2008, Oracle. All rights reserved.
14 - 1!
INCLUDE
E?CLUDE
INTERSECT
14 - 18
(ob
14 - 1"
14 - 20
/!ample of a Chain
;ependency Scheduling
(ob STA*T Loa)_)a$a_e4$ 1 Do_'/(F_(oa)
Schedule
S$op_H.en_ = )%-F_G/((_e4$
Re'/%()_%n)E 3
/0;
R/n_repor$4 8HR.GEN_REPORTS9
BULC_LOAD_CHAIN
14 - 21
Create>job>chain>1&jpg
1 2 3 4 =
14 - 22
Create>job>chain>2&jpg
14 - 24
BEGIN DBMS_SCHEDULER.ENABLE ( '/(F_(oa)_#.a%n *+ END+ , BEGIN DBMS_SCHEDULER.CREATE_;OB ( 9o'_name => '/(F_(oa)_#.a%n_9o' " 9o'_$&pe => CHAIN " 9o'_a#$%on => '/(F_(oa)_#.a%n " repea$_%n$er4a( => GreK=)a%(&+'&.o/r=B+ '&m%n/$e=A+'&-e#on)=3 " ena'(e) => TRUE*+ END+ ,
14 - 25
M M M M
M M M M
14 - 2
*esource plan
-indow group
(ob chain
(ob class
-indow
)rogram
(ob
Schedule
Arguments
Arguments
Time
/vent
14 - 2!
E?ECUTE DBMS_SCHEDULER.CREATE_;OB_CLASS( < 9o'_#(a--_name => ADMIN_;OBS " < re-o/r#e_#on-/mer_gro/p => DA0TIME_;OBS " < (ogg%ng_(e4e( => DBMS_SCHEDULER.LOGGING_O55*+
14 - 28 Copyright 2008, Oracle. All rights reserved.
Creating a -indow
Create a window for the month of ;ecember that uses the END_O5_0EAR resource plan and is active every night from ?:77 p&m& to ?:77 a&m& /astern Standard Time 8/ST9&
BEGIN DBMS_SCHEDULER.CREATE_OINDOO( H%n)oH_name => DEC_NIGHTS " re-o/r#e_p(an => END_O5_0EAR " -$ar$_)a$e => 38<DEC<32 3@.33.33 PM EST " repea$_%n$er4a( => 5RE6=DAIL0+ B0HOUR=8> " )/ra$%on => 3 8!=33=33 " en)_)a$e => 28<DEC<32 3@.33.33 AM EST " #ommen$- => E4er& )a& a$ @=33 PM *+ END+ ,
14 - 2" Copyright 2008, Oracle. All rights reserved.
'o( (ob1 (ob2 (ob3 OTHER (ob4 (ob= 'o(1 'o(2 'o(3 'o(4 'o(5
,riority 1 2 3 5 2
APPL_;OBS
14 - 30
Summary
@n this lesson, you should have learned how to: Simplify management tasks by using the Scheduler Create a job, program, and schedule onitor job e!ecution "se a time#based or event#based schedule for e!ecuting Scheduler jobs "se job chains to perform a series of related tasks "se advanced Scheduler concepts to prioriti$e jobs
14 - 31
14 - 32