设为首页 加入收藏

TOP

Oracle11g亮瞎眼睛的任务管理
2014-11-23 23:34:13 来源: 作者: 【 】 浏览:6
Tags:Oracle11g 眼睛 任务 管理

在使用Oracle9i时,觉得oracle的任务调度好弱啊。最近浏览下oracle11g,由衷感到oracle在易用性上有了极大的提升,不但在内存管理、存储管理、SQL调优等方面变得十分简单,对任务管理也提供了统一、完整的解决方案。下面对任务管理做个概览:

Oracle11g的任务管理使用dbms_scheduler包。

1.基本的Scheduler概念

\

< http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PHN0cm9uZz4gQSBqb2I8L3N0cm9uZz4gc3BlY2lmaWVzIHdoYXQgbmVlZHMgdG8gZXhlY3V0ZWQgYW5kIHdoZW4uIEZvciBleGFtcGxlLCB0aGUgobB3aGF0obEgY291bGQgYmUgYSBQTC9TUUwgcHJvY2VkdXJlLCBhbiBhdGl2ZSBiaW5hcnkgZXhlY3V0YWJsZSwgYSBKYXZhIGFwcGxpY2F0aW9uLCBvciBhIHNoZWxsIHNjcmlwdC4gWW91IGNhbiBzcGVjaWZ5IHRoZSBwcm9ncmFtICh3aGF0KSBhbmQgdGhlIHNjaGVkdWxlICh3aGVuKSBhcyBhIHN0YW5kLWFsb25lCiBqb2IuPC9wPgo8cD7L+c69tcRzdGFuZGFsb25lIGpvYsrH1ri9q3Byb2dyYW26zXNjaGVkdWxl1rG907fF1Npqb2LW0KOs0rK+zbrNb3JhY2xlOWnW0LXEam9i0rvR+cHLo6zA/cjno7o8L3A+CjxwPjwvcD4KPHA+QkVHSU48L3A+CjxwPkRCTVNfU0NIRURVTEVSLkNSRUFURV9KT0IoPC9wPgo8cD5qb2JfbmFtZT0mZ3Q7"HR.DO_BACKUP',

job_type =>'EXECUTABLE',

job_action=>'/home/usr/dba/rman/nightly_incr.sh',

start_date =>TRUNC(SYSDATE)+23/24,

enabled =>TRUE,

repeat_interval=> 'TRUNC(SYSDATE+1)+23/24',

/*next night at 11:00 PM */

comments=> 'Nightly incremental backups');

END;

create_job重载函数,可以直接使用program(突然看到了这种面向对象的重载,感觉又回到了写程序的美好年代):

BEGIN

DBMS_SCHEDULER.CREATE_PROGRAM(

program_name=> 'CALC_STATS2',

program_action=> 'HR.UPDATE_SCHEMA_STATS',

program_type=> 'STORED_PROCEDURE',

enabled=> TRUE);

DBMS_SCHEDULER.CREATE_JOB(

job_name=>'HR.GET_STATS2',

program_name=>'HR.CALC_STATS2',

start_date=>'20-DEC-0707.00.00 AM Greenwich',

repeat_interval=>'FREQ=HOURLY;INTERVAL=2',

end_date=> '20-DEC-04 07.00.00 AM Greenwich',

comments=> 'Explicitly scheduled job');

END;

/


create_job重载函数,也可以直接使用schedule:

BEGIN

DBMS_SCHEDULER.CREATE_SCHEDULE(

schedule_name=> 'stats_schedule',

start_date =>SYSTIMESTAMP,

end_date=>SYSTIMESTAMP + INTERVAL ’30’ DAY,

repeat_interval=> 'FREQ=HOURLY;INTERVAL=4',

comments =>'Every 4 hours');

DBMS_SCHEDULER.CREATE_JOB(

job_name=> 'ADMIN.GET_STATS',

program_name=> 'ADMIN.CALC_STATS2',

schedule_name=> 'STATS_SCHEDULE');

END;


2.高级的Scheduler概念

基本的scheduler概念大部分情况下已经够用,也就是说,即使我们不知道这些高级特性,oracle会赋予一些默认值供使用。高级的schedule加入了时间窗口与任务调度的概念:

n块 i糙 hm 睬   #』#「  踩  采 番㈥  查 
韬  蕲 悍 Л 悍r     rV : (悍r    Ψ 贶z  n 
⒆    憝 悍v* 丿z偏zz-y鬓r丿z轫 azf ) 骗 . b瞳b  6 冬y 贶x僻j   l z  迨)诓) 瑙仓  愈iZ)荩     http://www.2cto.com/os/windows/windows定义为windows group,比如将NIGHT window 和WEEKEND window 组合成MAINTENANCE window group. 一个job可以被指定给MAINTENANCE window, 那么他就会在NIGHT 或者WEEKEND windows被打开时执行。

一个job可以用schedule, window 或者a window group 作为schedule, 不过他们是互斥的,只能用其中一个。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Oracle的数据导入到SQLServer2005.. 下一篇CentOS 6.2 X64上64位Oracle11gR2..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: