Oracle10g调度例行任务解放DBA时间
2007-05-11 12:21:19 来源:WEB开发网限定任务的起始时间
这一新的调度程序的一个非常好的特性是能够将一个任务的启始时间限定在正常启动时间之后的一个特定时期。例如,假定你有一个安排在每天晚上6:00运行的任务。由于系统加载或其它原因,此任务实际上可能要等到6:12才能有开始运行的机会。即使是延迟了12分钟,你是否仍然希望开始运行该任务?
采用这一调度程序,你可以回答希望在延后多长时间后你仍然愿意开始运行一个任务的问题。你可以通过设置该任务的schedule_limit属性值(以分为单位)来完成这一工作。以下语句指明我的LOADNEWCUSTOMERS任务必须在其预定开始运行的时间之后的10分钟内开始运行: sys.dbms_scheduler.set_attribute(
name =>'GENNICK.LOADNEWCUSTOMERS',
attribute => 'schedule_limit',
value => 10);
如果这一任务被延后到超过其开始运行的时间10分钟才能运行,则将取消(跳过)此任务的执行。 默认的 schedule_limit属性为空,则意味着没有任何限制。当使用数据库控制时,你可以利用"编辑任务"页面的"选项"选项卡设置这一属性。
创建资源窗口
作为一个DBA,你可以创建资源计划,以将资源分配给不同的使用者组。利用调度程序窗口,你可以使这些资源计划自动生效。代码清单4 给出了创建一个夜间批处理窗口的代码,这个窗口在每晚6:00开始运行,一直运行到第二天早晨8:00。请注意resource_plan 参数。该窗口激活BATCH_PROCESSING 资源计划。与此类似,你可以创建一个第二窗口,它在每天早晨激活ONLINE_PROCESSING资源计划。
任务类允许你将任务分派给使用者组,它是资源管理与调度程序之间的连接。默认的任务类为DEFAULT_JOB_CLASS,但是在创建一个任务时,你可以很容易地选择一个不同的类。你还可以在创建任务之后很容易地由一个任务切换至另一个任务。
更多精彩
赞助商链接