Oracle之作业调度

背景

项目上有时候,要定时轮询作业和相关的脚本,下面是执行job的两种方式:

a.使用Oracle自身dbms_job

b.使用Linux的crontab功能,推荐使用此方式,因为比较稳定而且容易维护减少工作量。

下面是上述两种方式的具体操作步骤。

一、使用Oracle自身dbms_job


/*删除自动执行的job*/
begin
dbms_job.remove(63);
commit;
end;

--查询job
select * from user_jobs where what='proc_tr_temp_his_tables;';

--测试
begin
dbms_job.run(64);
end;

--查询系统表查看该job信息
select * from user_jobs where what='pro_tab_job;';

--手动sql调用job   (直接调用job可以忽略开始时间)
begin
dbms_job.run(40); /*40 job的id*/
end;
 
 
--删除任务
begin
/*删除自动执行的job*/
dbms_job.remove(24);
commit;
end;


--停止job
dbms.broken(23,broken,nextdate);   
dbms_job.broken(23,true,next_date); /*停止一个job,里面参数true也可是false,next_date(某一时刻停止)也可是sysdate(立刻停止)。*/


--修改间隔时间
dbms_job.interval(job,interval);


--修改下次执行时间
dbms_job.next_date(job,next_date);

--修改要执行的操作 
dbms_

你可能感兴趣的:(Oracle,linux,oracle,数据库)