六、使用Job Classes

  Job Classes 相当于创建了一个job组,DBA可以将那些具有相同特性的job,统统放到相同的Job Classes中,然后通过对Job Class应用ORACLE中的"资源使用计划"特性,就可以对这些job执行过程中所需要的资源分配情况进行管理。

1、 创建Job Classes

  使用DBMS_SCHEDULER包的CREATE_JOB_CLASS过程创建Job Classes,该过程支持的参数如下:

JSSWEB>  desc dbms_scheduler.create_job_class;

Parameter               Type           Mode Default?

----------------------- -------------- ---- --------

JOB_CLASS_NAME          VARCHAR2       IN

RESOURCE_CONSUMER_GROUP VARCHAR2       IN   Y

SERVICE                 VARCHAR2       IN   Y

LOGGING_LEVEL           BINARY_INTEGER IN   Y

LOG_HISTORY             BINARY_INTEGER IN   Y

    COMMENTS                VARCHAR2       IN   Y

  其中:

  • JOB_CLASS_NAME :要创建的Job Class的名称,注意指定的长度不要超过30个字符,也不要与现有Job Class同名;
  • RESOURCE_CONSUMER_GROUP :指定创建的Job Class所在的RCG;

提示:啥是Resource Consumer Group

    你可以将其理解成一个资源分配的方式,处于相同RCG组中的用户、会话、或者对象共用一组资源,这组资源中可供分配的资源按照DBA指定的方式分配给RCG。如果设计合理,通过这种方式,可以更有效的利用服务器的资源。
  • SERVICE :指定创建的Job Class所在Service,本选项常见于RAC环境,我们都知道RAC环境由多实例+数据库组成,此处所指定的Service实际就是指Job Class会在哪个实例上运行。
    注意:本参数与RESOURCE_CONSUMER_GROUP参数相互冲突,同一个Job Class只同设置两个参数中的一个值。
  • LOGGING_LEVEL :指定日志记录的级别,有下列三种级别:

    • n  DBMS_SCHEDULER.LOGGING_OFF :关闭日志记录功能;
    • n  DBMS_SCHEDULER.LOGGING_RUNS :对该Job Class下所有任务的运行信息进行记录;
    • n  DBMS_SCHEDULER.LOGGING_FULL :记录该Job Class下任务的所有相关信息,不仅有任务的运行情况,甚至连任务的创建、修改等也均将记入日志。
  • LOG_HISTORY :指定日志记录的时间,以天为单位,比如指定LOG_HISTORY参数值为90,就表示日志信息保留最近90天的内容。
  • COMMENTS :指定注释信息。

  上述各个参数,除了LOG_CLASS_NAME参数为必选参外,其它均为可选参数,例如:

JSSWEB>  EXEC DBMS_SCHEDULER.CREATE_JOB_CLASS(¨my_first_jc¨);

    PL/SQL procedure successfully completed

  查询系统中已经存在的Job Classes,可以通过DBA_SCHEDULER_JOB_CLASSES视图(或ALL_SCHEDULER_JOB_CLASS视图),例如:

JSSWEB> select job_class_name,resource_consumer_group,service from dba_scheduler_job_classes;

JOB_CLASS_NAME                 RESOURCE_CONSUMER_GROUP        SERVICE

------------------------------ ------------------------------ -----------------------------

DEFAULT_JOB_CLASS

AUTO_TASKS_JOB_CLASS           AUTO_TASK_CONSUMER_GROUP

    MY_FIRST_JC

  当创建Jobs时,可以通过JOB_CLASS参数来指定job所在的Job Class,如果不指定的话,创建的job默认属于DEFAULT_JOB_CLASS。至于说如何查询创建的jobs属于哪个Job Class,还用说吗,*_SCHEDULER_JOBS视图中的JOB_CLASS列呗。

2、 管理Job Classes

  DBMS_SCHEDULER.SET_ATTRIBUTE 过程大家应当还记的,前面的小节中演示中使用该过程,修改job的属性,实际上SET_ATTRIBUTE也同样可以用来修改Job Class的属性,操作方法与修改job属性完全相同,只不过作用函概的范围更广,修改Job Class后,该Job Class下属的所有job属性都会被级联修改(当前正运行的不会立刻生效,将等到下次运行时生效)。

  例如:修改刚刚创建的MY_FIRST_JC的日志保存时间:

JSSWEB> EXEC DBMS_SCHEDULER.SET_ATTRIBUTE(¨SYS.MY_FIRST_JC¨,¨LOG_HISTORY¨,¨30¨);

    PL/SQL procedure successfully completed.
    提示:Job Class可被修改的属性,即创建时可选择指定的那5个属性。

3、 删除Job Classes

  DBMS_SCHEDULER 包提供了DROP_JOB_CLASS过程,用来删除Job Classes。该过程调用非常简单,例如,删除刚刚创建的MY_FIRST_JC,执行命令如下:

JSSWEB> EXEC DBMS_SCHEDULER.DROP_JOB_CLASS(¨MY_FIRST_JC¨);

    PL/SQL procedure successfully completed.

  如果有多个Job Classes需要删除,并不需要多次执行DROP_JOB_CLASS,只需要在为该过程指定值时,参数值间以逗号分隔即可。

全面学习ORACLE Scheduler特性(11)使用Job Classes的更多相关文章

  1. 全面学习ORACLE Scheduler特性(12)使用Windows和Window Groups

    七.使用Windows 此Windows非彼Windows,通常说的Windows是指盖首富的操作系统,而此处所说的Windows,是指SCHEDULER特性中的一个子项.在SCHEDULER中,WI ...

  2. 全面学习ORACLE Scheduler特性(5)Schedules调度Programs执行的Jobs

    3.2 Schedules调度Programs执行的Jobs 通过schedule调度program的执行的job,看到这样的形容是不是让你彻底晕头了,就说明你还是没搞明白10g中SCHEDULERS ...

  3. 全面学习ORACLE Scheduler特性(8)Application抛出的Events

    4.2 Application抛出的Events 首先要说明,这里所说的Application是个代词,即可以表示ORACLE数据库之外的应用程序,也可以是ORACLE数据库中的PROCEDURE等对 ...

  4. 全面学习ORACLE Scheduler特性(7)Scheduler抛出的Events

    四.使用Events Event直译对应的中文解释是指事件,不过单纯讲事件毕竟太抽象了,举个示例来形容吧.A(对应某个应用程序,或者是ORACLE中的进程)在干活时突然眉头一皱说道,不好,前方有情况, ...

  5. 全面学习ORACLE Scheduler特性(1)创建jobs

    所谓出于job而胜于job,说的就是Oracle 10g后的新特性Scheduler啦.在10g环境中,ORACLE建议使用Scheduler替换普通的job,来管理任务的执行.其实,将Schedul ...

  6. 全面学习ORACLE Scheduler特性(9)创建Chains

    五.使用Chains 今天要来认识一位新同学:CHAIN(注意不要敲成CHINA).CHAIN可以被视做一组Programs的复合,举个简单的例子:运行PROGRAM:A以及PROGRAM:B,如果成 ...

  7. 全面学习ORACLE Scheduler特性(3)使用Programs

    二.使用Programs 在论坛中偶尔见过有人讨论如何在ORACLE中执行操作系统命令,或是ORACLE数据库外的应用.应该说在9i及之前的版本中,虽然说并非完全无法实现(其实还是有多种方式能够变相实 ...

  8. 全面学习ORACLE Scheduler特性(2)管理jobs

    1.2  管理Jobs 1.2.1  启用Jobs 前面创建JOB时,由于未显式的指定ENABLED参数,因此即使指定了START_DATE,不过默认情况下JOB不会自动执行.对于这种情况,DBMS_ ...

  9. 全面学习ORACLE Scheduler特性(10)管理Chains

    5.2  管理Chains 5.2.1  修改Chains属性 基本上碰到修改CHAIN属性的机率不会太大,因此确实没啥可修改的,对于CHAIN对象来说,能够修改的属性只有两个:evaluation_ ...

随机推荐

  1. JavaScript判断页面是否已经加载完毕

    做页面时经常会遇到当前页面加载完成后,执行某些初始化工作.这时候就要知道如何判断页面(包括IFRAME)已经加载完成,代码如下: < script language = "javasc ...

  2. POJ 2186 tarjan+缩点 基础题

    Popular Cows Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 37111   Accepted: 15124 De ...

  3. [bzoj2251][2010BeiJing Wc]外星联络_后缀数组

    外星联络 bzoj-2251 2010-BeiJing Wc 题目大意:题目链接. 注释:略. 想法: 这咋做啊????一看数据范围才$3\cdot 10^3$. 建立后缀数组. 所以我们将所有后缀排 ...

  4. poj——2367  Genealogical tree

    Genealogical tree Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6025   Accepted: 3969 ...

  5. codevs——1080 线段树练习

    1080 线段树练习  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题解       题目描述 Description 一行N个方格,开始每个格子里都有 ...

  6. Servlet表单数据处理

    以下内容引用自http://wiki.jikexueyuan.com/project/servlet/form-data.html: 当需要从浏览器到Web服务器传递一些信息并最终传回到后台程序时,一 ...

  7. CentOS 7防火墙服务FirewallD指南

    CentOS 7防火墙服务FirewallD指南 作者:chszs,未经博主同意不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs 防火墙是一种位于内部网 ...

  8. C++之类的比較运算符的重载

    比較运算符的重载通常有两种方式: 第一:作为成员函数重载 曾经几章的Student类为例: <span style="font-family:Microsoft YaHei;font- ...

  9. VC,VB程序button、图标样式美化

    此处的"美化"指的不是通过代码进行美化你的程序.关于想进一步优化自己的程序界面的,最好还是去了解下SkinSharp吧.本文提及的是利用第三方资源编辑软件在不更改程序不论什么框架和 ...

  10. Nginx中配置vue,react项目地址

    如题 像以前在Nginx中配置域名解析的时候只需要在conf.d文件夹下添加对应的xx.conf文件(当然了你也可以在nginx.conf)下配置. 如果是以前的老项目只需要在配置文件中server内 ...