oracle scheduler使用的一些总结

Oracle scheduler[@more@]

Scheduler 是oracle 10g 后添加的新特性,使用scheduler可以方便的设定在任意时间调用pl/sql块或者OS脚本(bat in windows, shell in linux)。这对数据库的一些定时操作提供了极大便利。

scheduler基本部分有3块:job, program, shedule

下面通过一个定时exp脚本来描述这3个部分:

Program
一个Program可能涉及到特等/的SQL块,一个存储过程或一个操作系统的可执行文件. begin
dbms_scheduler.create_program(
program_name=> 'EXP_PRO1',
program_type=> 'EXECUTABLE',
program_action =>'c:windowssystem32cmd.exe /c c:EXP_PRO1.bat > null'
);
end; 这就完成了program 的definition,program_type常用的有两种,executable和pl/sql,exec是在program_action调用脚本,pl/sql就是program_action写pl/sql块来执行了。

Job JOB是一个用户定义的任务就是定期发生一次或更多次. 这是一个结合了什么(行动)需要被执行的间隔(时间).
begin
dbms_scheduler.create_job (
job_name =>'pro_test1',
program_name=> 'EXP_PRO1',
enabled=>true,
REPEAT_INTERVAL => 'freq=daily;byhour=11;byminute=02;bysecond=0',
comments => 'backup database'
);
commit;
end;
/

Schedule在应用时可写在job内,
REPEAT_INTERVAL => 'freq=daily;byhour=11;byminute=02;bysecond=0',当然另外定义,然后在job内invoke,schedule_name=>'xxx',作用是一样的。

program_name要和先前的program name一致,这样job在schedule的调度下就能intervally invoke program to execute了。

program_action =>'c:windowssystem32cmd.exe /c c:EXP_PRO1.bat > null',这是program里bat file执行的语句,只要在相应位置建立bat文件,写入命令行,exp system/xx@xxxx file=c:exp.dmp full=y

在interval里选好你要执行的时间,这个定时exp的script就算是完成了。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/1768615/viewspace-927711/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/1768615/viewspace-927711/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值