您好,登录后才能下订单哦!
这篇文章主要讲解了“Oracle调度Schedule特性是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Oracle调度Schedule特性是什么”吧!
Job Classes 的概念,相当于创建了一个job组,DBA可以将那些具有相同特性的job,统统放到相同的Job Classes中,
然后通过对Job Class应用ORACE中的"资源使用计划"特性,就可以对这些job执行过程中所需要的资源分配情况进行管理。
1、创建Job Classes
使用DBMS_SCHEDULER包的CREATE_JOB_CLASS过程创建Job Classes
begin
dbms_scheduler.create_job_class('myjobclass1');
end;
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参数为必选参外,其它均为可选参数
2、查询系统中已经存在的Job Classes,可以通过DBA_SCHEDULER_JOB_CLASSES视图(或ALL_SCHEDULER_JOB_CLASS视图),例如:
select job_class_name,resource_consumer_group,service from dba_scheduler_job_classes where job_class_name = 'MYJOBCLASS1';
JOB_CLASS_NAME RESOURCE_CONSUMER_GROUP SERVICE
------------------------------ ------------------------------ ------------------------------
MYJOBCLASS1
当创建Jobs时,可以通过JOB_CLASS参数来指定job所在的Job Class,如果不指定的话,创建的job默认属于DEFAULT_JOB_CLASS。
至于说如何查询创建的jobs属于哪个Job Class,查询*_SCHEDULER_JOBS视图中。
3、管理Job Classes
DBMS_SCHEDULER.SET_ATTRIBUTE 过程大家应当还记的,前面的小节中演示中使用该过程,修改job的属性,实际上SET_ATTRIBUTE也同样可以用来修改Job Class的属性,
操作方法与修改job属性完全相同,只不过作用函概的范围更广,修改Job Class后,该Job Class下属的所有job属性都会被级联修改(当前正运行的不会立刻生效,将等到下次运行时生效)。
举个例子:修改刚刚创建的MY_FIRST_JC的日志保存时间
begin
DBMS_SCHEDULER.SET_ATTRIBUTE('MYJOBCLASS1','LOG_HISTORY','30');
end;
Job Class可被修改的属性,即创建时可选择指定的那5个属性。
4、 删除Job Classes
DBMS_SCHEDULER 包提供了DROP_JOB_CLASS过程,用来删除Job Classes。该过程调用非常简单,例如,删除刚刚创建的MYJOBCLASS1,执行命令如下:
begin
DBMS_SCHEDULER.DROP_JOB_CLASS('MYJOBCLASS1');
end;
如果有多个Job Classes需要删除,并不需要多次执行DROP_JOB_CLASS,只需要在为该过程指定值时,参数值间以逗号分隔即可。
感谢各位的阅读,以上就是“Oracle调度Schedule特性是什么”的内容了,经过本文的学习后,相信大家对Oracle调度Schedule特性是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。