全面学习ORACLE Scheduler特性(11)使用Job Classes
六、使用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的更多相关文章
- 全面学习ORACLE Scheduler特性(12)使用Windows和Window Groups
七.使用Windows 此Windows非彼Windows,通常说的Windows是指盖首富的操作系统,而此处所说的Windows,是指SCHEDULER特性中的一个子项.在SCHEDULER中,WI ...
- 全面学习ORACLE Scheduler特性(5)Schedules调度Programs执行的Jobs
3.2 Schedules调度Programs执行的Jobs 通过schedule调度program的执行的job,看到这样的形容是不是让你彻底晕头了,就说明你还是没搞明白10g中SCHEDULERS ...
- 全面学习ORACLE Scheduler特性(8)Application抛出的Events
4.2 Application抛出的Events 首先要说明,这里所说的Application是个代词,即可以表示ORACLE数据库之外的应用程序,也可以是ORACLE数据库中的PROCEDURE等对 ...
- 全面学习ORACLE Scheduler特性(7)Scheduler抛出的Events
四.使用Events Event直译对应的中文解释是指事件,不过单纯讲事件毕竟太抽象了,举个示例来形容吧.A(对应某个应用程序,或者是ORACLE中的进程)在干活时突然眉头一皱说道,不好,前方有情况, ...
- 全面学习ORACLE Scheduler特性(1)创建jobs
所谓出于job而胜于job,说的就是Oracle 10g后的新特性Scheduler啦.在10g环境中,ORACLE建议使用Scheduler替换普通的job,来管理任务的执行.其实,将Schedul ...
- 全面学习ORACLE Scheduler特性(9)创建Chains
五.使用Chains 今天要来认识一位新同学:CHAIN(注意不要敲成CHINA).CHAIN可以被视做一组Programs的复合,举个简单的例子:运行PROGRAM:A以及PROGRAM:B,如果成 ...
- 全面学习ORACLE Scheduler特性(3)使用Programs
二.使用Programs 在论坛中偶尔见过有人讨论如何在ORACLE中执行操作系统命令,或是ORACLE数据库外的应用.应该说在9i及之前的版本中,虽然说并非完全无法实现(其实还是有多种方式能够变相实 ...
- 全面学习ORACLE Scheduler特性(2)管理jobs
1.2 管理Jobs 1.2.1 启用Jobs 前面创建JOB时,由于未显式的指定ENABLED参数,因此即使指定了START_DATE,不过默认情况下JOB不会自动执行.对于这种情况,DBMS_ ...
- 全面学习ORACLE Scheduler特性(10)管理Chains
5.2 管理Chains 5.2.1 修改Chains属性 基本上碰到修改CHAIN属性的机率不会太大,因此确实没啥可修改的,对于CHAIN对象来说,能够修改的属性只有两个:evaluation_ ...
随机推荐
- 记一次springMVC的跨域解决方案
日期:2019年5月18日 事情原因:由于微信小程序的开发只有测试环境,而后台提供借口的环境是开发环境:两个环境的域名不同,导致前端开发产生了跨域问题: 理论概念: 1.同源策略:同源策略是浏览器的安 ...
- http转https
1.先用jdk生成证书 先跳转到jdk的bin目录下:E:\Program Files\Java\jdk1.8.0_91\bin>keytool -genkey -alias tomcat -k ...
- Visual studio 2008 的语法高亮插件 WordLight
前段时间一直在使用matlab,今天需要使用vs2008,而用惯了matlab,习惯了其中一项选中变量高亮的设置,突然回来使用VS,感到各种不适应,顿时想到了一个词:矫情 呵呵,于是在网上找各种插件, ...
- 我的arcgis培训照片11
来自:http://www.cioiot.com/successview-546-1.html
- SVN的配置与使用方法
1.所选服务器安装包:VisualSVN-Server-2.1.3.msi. 2.客户端安装包:TortoiseSVN-1.6.2.16344-win32-svn-1.6.2.msi 一.服务器的安装 ...
- 2011 ACM-ICPC 成都赛区A题 Alice and Bob (博弈动规)
题目大意: 有K堆石子,每堆有Ki个.两人的操作能够是: 1 从某一堆拿走一个 假设该堆在此之后没有石子了.就消失 2 合并两个堆 求是否 ...
- sqlite自己主动更新数据库
写一个类继承自 SQLiteOpenHelper 系统会自己主动加入构造方法. onCreate方法.onUpgrade方法 当数据库里面数据或者表结构有所修改时.咱们须要升级数据库 这个时候.版本 ...
- mysql 將時間戳直接轉換成日期時間
from_unixtime()是MySQL裏的時間函數 Sql代碼 select uid,userid,username,email,FROM_UNIXTIME(addtime,'%Y年%m月%d') ...
- 【hdu3518】Boring counting
题意:找出一个字符串中至少重复出现两次的字串的个数(重复出现时不能重叠). 后缀数组 枚举字串长度h,对于每一次的h,利用height数组,找出连续的height大于等于h的里面最左端和最右端得为之l ...
- 利用JProfile 7分析内存OOM
今天发现一个OOM问题,想来可能是有部分内存没有正确释放导致的 于是想到了之前使用的JProfile来分析一下 由于大概知道哪个类没有释放,可以在Memory Views里看一下对应的类有多少实例来确 ...