Chinaunix首页 | 论坛 | 博客
  • 博客访问: 249360
  • 博文数量: 64
  • 博客积分: 1416
  • 博客等级: 上尉
  • 技术积分: 565
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-18 10:54
文章分类

全部博文(64)

文章存档

2011年(4)

2010年(60)

我的朋友

分类: Oracle

2010-04-07 22:01:29

DBMS_SCHEDULER是Oracle 10G中新增的一个包,与老版本的DBMS_JOB包相比,DBMS_SCHEDULER有很多新特性,比如说,更容易规范开始时间和间隔时间,也能在 PL/SQL上指定计划执行操作系统命令。其中DBMS_SCHEDULER新特点中最好的一个是,它与资源管理器紧密结合起来了。

资源管理器是Oracle的一部分,它允许分割资源,例如,它可以分割CPU时间,在各种会话之间登陆Oracle。会话可以被分配到一个用户资源组,然后资源计划在用户资源组之间对可用资源进行分配。

DBMS_SCHEDULER有两个特点与资源管理器有密切的联系,它们是:作业类和计划窗口。

作业类

作业类是计划作业的一种。可以将多个作业指派给同一个作业类,但是每个作业每次只能指派给一个作业类。作业类其中一个属性是,它能包含类中与所有作业相联系的用户资源组的名称。这就意味着,以前在作业类中的作业在得到资源后要分配给指定的用户资源组,但现在不需要了。

举个例子来说,你创建一个名为BATCH_REPORTS的作业类,然后将它与名为 REPORTS_CONSUMER_GROUP的用户资源组建立联系。当你新建一个report作业时,仅仅是指派给了BATCH_REPORTS作业类,它将作为REPORTS_CONSUMER_GROUP的一个成员来运行。

计划窗口

计划窗口就是预定义时间周期,它有名称,开始时间和持续时间。计划窗口在它开始时间到达的时候“打开”,在它的持续时间到达的时候“关闭”。计划窗口将资源计划作为它的一个属性:当这个窗口打开的时候,在该窗口中,Oracle将当前资源计划自动切换到开始使用指定的资源。

继续先前那个例子,如果你有两个资源计划,名称分别为DAY_PLAN和NIGHT_PLAN,这两个计划窗口在它们之间自动切换。DAY_WINDOW窗口在6:00 A.M启动,然后激活DAY_PLAN计划,NIGHT_WINDOW窗口在10:00 P.M启动,然后激活NIGHT_PLAN计划。DAY_PLAN限制REPORTS_CONSUMER_GROUP的成员不能多于可用CPU资源的百分之二十五,允许交互用户优先选择;NIGHT_PLAN却不是这个比例,它允许report作业占用CPU资源的百分之七十五。
阅读(1358) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~