1.2,管理工作
1.2.1 启用工作
前面创建工作时,由于未显式的指定启用参数,因此即使指定了START_DATE,不过默认情况下工作不会自动执行。对于这种情况,DBMS_SCHEDULER包中提供了一个过程启用,可以用来修改工作的启用状态,调用方式非常简单,例如:
完成,exec dbms_scheduler.enable (¨INSERT_TEST_TBL¨);
PL/SQL procedure  successfully 完成。1.2.2 禁用工作
DBMS_SCHEDULER.ENABLE 仅用来将工作(其实不仅仅对工作有效,对于链,程序等也有效)的启用状态置为真的。如果想将其启用状态置为假的?简单,还有一个与该功能对应的过程:DBMS_SCHEDULER.DISABLE,例如:
完成,exec dbms_scheduler.disable (¨INSERT_TEST_TBL¨);
PL/SQL procedure  successfully 完成。这两个过程仅用来重置对象的状态,因此均可以无限次执行,即使执行时对象已经被置为要指定的状态。
1.2.3
由于工作的属性众多,难免时不时的可能会遇到需要修改的情况,比如说前面创建工作时不小心,指定要执行的过程名输入错误(完全有可能,CREATE_JOB在创建时不会自动检查指定的过程是否有效,从这方面考虑,调度器不如普通工作严谨哪),这种情况下就必然涉及到对工作的修改(或者说重定义),没问题,DBMS_SCHEDULER包中专门提供了一个过程。
例如,修改刚刚创建的工作:INSERT_TEST_TBL执行的过程,执行语句如下:
完成exec dbms_scheduler。set_attribute (“INSERT_TEST_TBL”、“JOB_ACTION”、“P_插入INTOTEST”);
PL/SQL procedure  successfully 完成当然啦,我们这里执行的这条语句,执行跟没执行没有区别,此处仅做示例,大家表深究。
SET_ATTRIBUTE过程虽然仅有三个参数,不过能够修改的属性值可是不少,以下列举几个较常用到的:
-
<李>
LOGGING_LEVEL:指定对工作执行情况记录的日志信息级别。
李>
调度器管理的工作对任务的执行情况专门进行了记录,同时用户还可以选择日志中记录信息的级别,有下列三种选择:
-
<李>
DBMS_SCHEDULER。LOGGING_OFF:关闭日志记录功能;
李>
<李>
DBMS_SCHEDULER。LOGGING_RUNS:对任务的运行信息进行记录;
李>
<李>
DBMS_SCHEDULER。LOGGING_FULL:记录任务所有相关信息,不仅有任务的运行情况,甚至连任务的创建,修改等也均将记入日志。
李>
提示:查看调度器管理的工作,可以通过USER_SCHEDULER_JOB_LOG和USER_SCHEDULER_JOB_RUN_DETAILS两个视图中查询
<李> 可重新开始的:指定工作运行出错后,是否能够适时重启 李>创建任务时如未明确指定,本参数默认情况下设置为假,如果设置为真,就表示当任务运行时出的错,下次运行时间点到达时仍会启动,并且如果运行仍然出错,会继续重新运行,不过如果连接出错达到6次,该工作就会停止。
<李> MAX_FAILURES:指定工作最大连续出错次数 李>该参数值可指定的范围从1 - 1000000,达到指定出错次数后,该任务会被自动禁用。
<李> MAX_RUNS:指定工作最大运行次数 李>该参数值可指定的范围从1 - 1000000,只是运行次数无限制,实际工作会否继续运行,仍受制于end_date以及max_failures等参数的设置)。达到指定运行次数后,该工作也将被自动禁用,并且状态会被置为完成。
<李> JOB_TYPE:指定工作执行的任务的类型 李>有四个可选值:¨PLSQL_BLOCK¨,,¨STORED_PROCEDURE¨,,¨¨执行,以及¨¨链。
<李> JOB_ACTION:指定工作执行的任务 李>这一参数所指定的值依赖于JOB_TYPE参数中的值,比如说JOB_TYPE设置为¨STORED_PROCEDURE¨,那么本参数值中指定的一定是甲骨文中的过程名。
<李> START_DATE:指定工作初次启动的时间 李> <李> END_DATE:指定工作停止运行的时间 李>