日期:2014-05-16  浏览次数:20413 次

dbms_job的应用
dbms_job.submit --添加作业任务

dbms_job.run --运行作业调度

dbms_job.remove --删除作业任务

dbms_job.broken --中断禁用或启用作业




---创建测试表
  SQL> create table TEST(a date);
  
  表已创建。
  
 --- 创建一个自定义过程
  SQL> create or replace procedure MYPROC as
   2 begin
   3 insert into TEST values(sysdate);
   4 end;
   5 /
  
  过程已创建。
  
  创建JOB
  SQL> variable job1 number;
  SQL>
  SQL> begin
   2 dbms_job.submit(:job1,'MYPROC;',sysdate,'sysdate+1/1440');  --每天1440分钟,即一分钟运行test过程一次
   3 end;
   4 /
  
  PL/SQL 过程已成功完成。
  
  ---运行JOB
  SQL> begin
   2 dbms_job.run(:job1);
   3 end;
   4 /
  
  PL/SQL 过程已成功完成。
  
  SQL> select to_char(a,'yyyy/mm/dd hh24:mi:ss') 时间 from TEST;
  
  时间
  -------------------
  2001/01/07 23:51:21
  2001/01/07 23:52:22
  2001/01/07 23:53:24
  
  --删除JOB
  SQL> begin
   2 dbms_job.remove(:job1);
   3 end;
   4 / bitsCN_com
  
  PL/SQL 过程已成功完成。



plsql下执行:

启动定时任务:
declare
  v_job int;
begin
  v_job := 68;  --68是定时任务的进程数
  dbms_job.run(v_job);
  commit;
end;