1、ORACLE JOB概述数据库
定时在后台执行相关操做。oracle
例如:天天晚上点将一张表的数据保存到另外一张表中;定时备份数据库等操做。spa
2、建立ORACLE JOBorm
一、 建立表ci
/*1、建立表*/rem
create table job_table(it
j_id number(12),table
j_date dateast
)class
二、 建立序列
/*2、建立序列*/
create sequence job_seq
minvalue 1 maxvalue 999999999999 start with 1 increment by 1;
三、 建立过程
/*3、建立存储过程*/
create or replace procedure job_pro
is
begin
insert into system.job_table values(job_seq.nextval,sysdate);
end;
四、 建立job
declare job number;
begin
sys.dbms_job.submit(job => job,
what => 'job_pro;',
next_date => to_date('13-07-2011 00:01:00',
'dd-mm-yyyy hh24:mi:ss'),
interval => 'trunc(sysdate)+1+1/1440');
commit;
end;
代码讲解:
job:该参数是工做号(由submit()过程返回的binary_integer),它在问题中惟一标识工做。
what: 能够理解为,具体要作的操做,这里指向一个存储过程。
next_date:该参数指示什么时候此操做被执行。
interval:该参数指示一个工做重复执行的频度。
no_parse:该蚕食指示此工做在提交时或执行时是否应进行语法分析,TRUE:标识第一次执行时进行语法分析;FALSE:指示当即进行语法分析
注意:若是在job => job, 这里,改为“job => :job,”,oracle则会报“并不是全部变量都已绑定”异常。声明了变量后,请把这个冒号去掉!
PS:dbms_job package包含如下过程:
·Broken()过程;
·change()过程;
·interval()过程;
·isubmit()过程;
·next_date()过程;
·remove()过程;
·run()过程;
·submit()过程;
·user_export()过程;
·what()过程;