oracle定时任务

更改系统的会话方式为disenable restricted,为snp的启动创建条件

alter system disenable restricted session;


job_queue_processes=10   (oracle10gde 默认值)
job_queue_interval=N


alter system set job_queue_processes=100;


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


包含以下子过程:  

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


例子:

create table a(a,timestamp);

--创建存储过程

create or replace proc_a is

begin

insert into a values(sysdate);

end;

--创建job

SQL> variable job1 number;   --定义一个变量保存jobno,在使用时为:job1,同时what()参数在存储过程后需要有分号,别忘记,interval为字符串
SQL> begin
 2  dbms_job.submit(:job1,'test;',sysdate,'sysdate+1/1440');  --每天1440分钟,即一分钟运行test过程一次
 3  end;
 4  /


运行JOB
SQL> begin
 2  dbms_job.run(:job1);
 3  end;
 4  /


删除JOB
SQL> begin
 2  dbms_job.remove(:job1);
 3  end;
 4  /


修改job:

(使用包,需要在begin..end间使用)

begin

dbms_job.interval('sysdate+23/1440');  --修改间隔时间

end;


begin

dbms_job.change(jobno,'proc_a;',sysdate,'sysdate+1');  --change有多个参数,可一同修改

end;

--------------------------------

更多说明请参照:http://www.cnblogs.com/xclw/archive/2009/12/04/1616945.html


oracle作业job更新next_date及执行时间的探讨说明:http://blog.csdn.net/kamus/article/details/201377


你可能感兴趣的:(oracle,定时任务)