码迷,mamicode.com
首页 > 数据库 > 详细

oracle 中导出系统中现有rdbms_jobs中的脚本及schedules job的创建

时间:2017-10-09 13:12:27      阅读:240      评论:0      收藏:0      [点我收藏+]

标签:run   dai   job   业务   nts   lock   current   repeat   proc   

--有些时时候需要提交别人你写的job脚本,用下面的存储就可以在命令窗口模式下输出全部的job代码;
set
serveroutput on size 1000000; create or replace procedure proc_generate_job_create_sql is begin DBMS_OUTPUT.ENABLE(buffer_size => null); --表示输出buffer不受限制 sys.dbms_output.put_line(declare); sys.dbms_output.put_line( v_job number;); sys.dbms_output.put_line(begin); for j in (select what, interval from user_jobs) loop sys.dbms_output.put_line( sys.dbms_job.submit(job => v_job,); sys.dbms_output.put_line( what => ‘‘‘ || j.what || ‘‘‘,); sys.dbms_output.put_line( next_date => || j.interval || ,); sys.dbms_output.put_line( interval => ‘‘‘ || j.interval || ‘‘‘);); end loop; sys.dbms_output.put_line( commit;); sys.dbms_output.put_line(end;); end;
--使用schedule_job可以更好管理你的job,可以自定义命名你的job.
begin
dbms_scheduler.create_schedule(schedule_name => SCHEDULE_自定义名称,
 repeat_interval => FREQ=DAILY; INTERVAL=1;BYHOUR=0;ByMinute=10, 
 comments => 每天0点10分执行调度);  

dbms_scheduler.create_program(program_name => PROGRAM_自定义名称,
 program_type => PLSQL_BLOCK,
 program_action => BEGIN 业务代码(一般为存储过程); END;,
 number_of_arguments => 0,
 enabled => TRUE,
 comments => 描述);
 
dbms_scheduler.create_job(job_name => JOB_自定义名称,
program_name => PROGRAM_自定义名称,
schedule_name => SCHEDULE_自定义名称,
job_class => DEFAULT_JOB_CLASS,
enabled => true,
auto_drop => true,
comments => 描述);
--开始运行
dbms_scheduler.run_job(job_name => JOB_自定义名称, use_current_session => false);
end;

 

oracle 中导出系统中现有rdbms_jobs中的脚本及schedules job的创建

标签:run   dai   job   业务   nts   lock   current   repeat   proc   

原文地址:http://www.cnblogs.com/xuzhong86/p/7640492.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!