Oracle定时任务

今天总结下oracle的任务队列管理器(job queue ),以后也方便查询.
 我们要做定时任务时,有两种办法

一种是: 操作系统的定时,win的定时任务,unix的crontab
一种是: 数据库级的定时,她的效率更高,

这个过程有四个参数:job、what 、next_date与interval。

PROCEDURE Change (job        IN binary_integer, 
                  What       IN varchar2, 
                  next_date  IN date, 
                  interval   IN varchar2)

此job参数是一个整数值,它唯一标识此工作。 
What参数是由此工作运行的一块PL/SQL代码块。 
next_date参数指示何时此工作将被执行。 
interval参数指示一个工作重执行的频度。

 sql> select job,next_date,next_sec,broken from user_jobs;

包含以下子过程: 

Broken()过程。 
change()过程。 
Interval()过程。 
Isubmit()过程。 
Next_Date()过程。 
Remove()过程。 
Run()过程。 
Submit()过程。 
User_Export()过程。 
What()过程。


 

 

begin
  sys.dbms_job.submit(job => :job,
                      what => '存储过程名称;',
                      next_date => to_date('01-01-4000', 'dd-mm-yyyy'),
                      interval => 'TRUNC(SYSDATE)+1');
  sys.dbms_job.broken(job => :job,
                      broken => true,
                      next_date => to_date('01-01-4000', 'dd-mm-yyyy'));
  commit;
end;
/

 

参考:http://informix.blog.163.com/blog/static/95080271200910405723794/

你可能感兴趣的:(oracle定时任务,sys.dbms_job,存储过程实现)