Oracle Scheduler Chain 的用法(二)

2014-11-24 17:08:30 · 作者: · 浏览: 2
mments => 'End of the chain.'); END; / 5、激活chain BEGIN DBMS_SCHEDULER.enable ('test_chain_1'); END; / 6、将chain添加到job BEGIN DBMS_SCHEDULER.CREATE_JOB ( job_name => 'test_chain_1_job', job_type => 'CHAIN', job_action => 'test_chain_1', repeat_interval => 'freq=minutely; interval=2', start_date => SYSTIMESTAMP, end_date => SYSTIMESTAMP + (1/48), enabled => FALSE); --->值为TRUE用于激活JOB END; / 7、手动执行chain BEGIN DBMS_SCHEDULER.run_chain ( chain_name => 'test_chain_1', job_name => 'test_chain_1_run_job', start_steps => 'chain_step_1,chain_step_3'); -->可以指定单步或多步以及所有步骤 END; / scott@CNMMBO> select * from tb_schduler; ID DESCR CR_DATE ---------- -------------------- ----------------- 1 test_proc_1 20131203 14:36:03 2 test_proc_3 20131203 14:36:04 --激活job scott@CNMMBO> exec dbms_scheduler.enable('test_chain_1_job'); PL/SQL procedure successfully completed.

三、CHAIN相关状态及视图查询

scott@CNMMBO> @job_chains              --->数据字典dba_scheduler_chains

OWNER      CHAIN_NAME      RULE_SET_O RULE_SET_NAME   NUMBER_OF_RULES NUMBER_OF_STEPS ENABL COMMENTS
---------- --------------- ---------- --------------- --------------- --------------- ----- ---------------
SCOTT      TEST_CHAIN_1    SCOTT      SCHED_RULESET$1               4               3 TRUE  A test chain.

scott@CNMMBO> @job_chain_steps         --->数据字典dba_scheduler_chain_steps

OWNER      CHAIN_NAME      STEP_NAME       PROGRAM_OW PROGRAM_NAME    STEP_TYPE
---------- --------------- --------------- ---------- --------------- --------------
SCOTT      TEST_CHAIN_1    CHAIN_STEP_1    SCOTT      TEST_PROC_1     PROGRAM
SCOTT      TEST_CHAIN_1    CHAIN_STEP_2    SCOTT      TEST_PROC_2     PROGRAM
SCOTT      TEST_CHAIN_1    CHAIN_STEP_3    SCOTT      TEST_PROC_3     PROGRAM

scott@CNMMBO> @job_chain_rules         --->数据字典 dba_scheduler_chain_rules

OWNER      CHAIN_NAME      RULE_OWNER RULE_NAME       CONDITION                 ACTION               COMMENTS
---------- --------------- ---------- --------------- ------------------------- -------------------- -------------------------
SCOTT      TEST_CHAIN_1    SCOTT      CHAIN_RULE_1    TRUE                      START "CHAIN_STEP_1" First link in the chain.
SCOTT      TEST_CHAIN_1    SCOTT      CHAIN_RULE_2    "CHAIN_STEP_1" COMPLETED  START "CHAIN_STEP_2" Second link in the chain.
SCOTT      TEST_CHAIN_1    SCOTT      CHAIN_RULE_3    "CHAIN_STEP_2" COMPLETED  START "CHAIN_STEP_3" Third link in the chain.
SCOTT      TEST_CHAIN_1    SCOTT      CHAIN_RULE_4    "CHAIN_STEP_3" COMPLETED  END                  End of the chain.

scott@CNMMBO>
@job_log_detail --->数据字典dba_scheduler_job_run_details Enter value for input_job_name: test_chain_1_job LOG_ID JOB_NAME JOB_SUBNAME STATUS ACTUAL_START_DATE RUN_DURATION ---------- ------------------------- --------------- --------------- --------------------------------------------- -------------------- 39002 TEST_CHAIN_1_JOB CHAIN_STEP_3 SUCCEEDED 03-DEC-13 02.43.23.735878 PM +08:00 +000 00:00:00 39001 TEST_CHAIN_1_JOB CHAIN_STEP_2 SUCCEEDED 03-DEC-13 02.43.22.847659 PM +08:00 +000 00:00:00 39000 TEST_CHAIN_1_JOB CHAIN_STEP_1 SUCCEEDED 03-DEC-13 02.43.18.735907 PM +08:00 +000 00:00:00 39003 TEST_CHAIN_1_JOB SUCCEEDED 03-DEC-13 02.43.14.759867 PM +08:00 +000 00:00:09 scott@CNMMBO> select * from tb_schduler; ID DESCR CR_DATE ---------- -------------------- ----------------- 1 test_proc_1 20131203 14:36:03 2 test_proc_3 20131203 14:36:04 3 test_proc_1 20131203 14:43:18 4 test_proc_2 20131203 14:43:22 5 test_proc_3 20131203 14:43:23

四、移除CHAIN及相关JOB

--对于与chain相关的program