ORCLE10g 数据库定时任务

本文详细介绍了如何使用Oracle数据库实现定时任务的配置、触发和管理,包括创建表、序列、过程,以及使用dbms_job提交定时任务的步骤。

 

如果想让oracle 数据库定时执行一个什么任务,可以用如下的方法实现:
上例子:

准备东西:

  1. create table t3(k integer primary key,  d date);   -- 例子表  
  2.   
  3. create sequence seq_test start with 1 increment by 1;   --例子序列  
  4.       
  5. create or replace procedure insert_into_t3 as  --例子过程  
  6. begin  
  7.   insert into t3 (k, d) values (seq_test.nextval, sysdate); --把t1里面的相关数据插到t2中    
  8.   commit; --插入一条记录commit一次    
  9. end;  




下面的代码,将每分钟执行一下上面的insert_into_t3过程

  1. var job number;  
  2.   
  3. begin  
  4.    dbms_job.submit(  
  5.      job => :job,  
  6.      what => 'insert_into_t3;',  
  7.      next_date => to_date('2014-06-17 12:35:00','yyyy-MM-dd hh24:mi:ss'),  
  8.      interval => 'sysdate+1/(24*60)'  
  9.   );  
  10.   commit ;  
  11. end;  



可以通过下面的语句查询一下任务列表:

  1. SELECT * from user_jobs order by next_date;  



如果想手动触发一下任务,可以用如下语句:

  1. begin    
  2.       dbms_job.run(jobNum);    
  3. end;    
  4. /    



通过下面的语句删除任务

  1. begin    
  2.       dbms_job.remove(jobNum);    
  3. end;    
  4. /    



注意:有一个系统参数需要特别注意:job_queue_processes
如果 show parameter job_queue_processes 显示其值为0,则定时任务不会执行。
需要用如下语句给它设置一个>0的值。例如:
alter system set job_queue_processes=10

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

myskybeyond

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值