Oracle数据库中增加计划任务实操

我们一般在SQL Server上创建相关的作业去定时的执行一些任务,在Oracle数据库下我们通常都是通过编码的方式,通过一些项目自带的相应计划任务框架对存储过程进行调用。今天才发现,原来Oracle下创建一个计划任务要比SQL Server简单的多。

1、创建计划任务:

Sql代码

 

 
 
 
  1. X NUMBER;  
  2. GIN  
  3. SYS.DBMS_JOB.SUBMIT(job => X,  
  4. what => 'PROC_YKTSJTB;',  

 

存储过程名称

 

 
 
 
  1. next_date => trunc(sysdate+5/1440,'MI'), 

下次执行时间

 

 
 
 
  1. interval => 'trunc(sysdate+1440/1440,''MI'')', 

间隔时间

 

 
 
 
  1. no_parse => FALSE);  
  2. SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_char(x));  
  3. COMMIT;  
  4. D;  
  5. X NUMBER;  
  6. BEGIN  
  7. SYS.DBMS_JOB.SUBMIT(job => X,  
  8. what => 'PROC_YKTSJTB;',  

 

存储过程名称

 

 
 
 
  1. next_date => trunc(sysdate+5/1440,'MI'), 

下次执行时间

 

 
 
 
  1. interval => 'trunc(sysdate+1440/1440,''MI'')', 

间隔时间

 

 
 
 
  1. no_parse => FALSE);  
  2. SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_char(x));  
  3. COMMIT;  
  4. END;  

 

以上主要注意三个参数:

what :需要计划任务执行的动作;

next_date:下次计划任务执行的时间,具体时间可以根据Oracle数据库的trunc构造;

interval:计划任务的执行周期;

2、计划任务执行情况监控

Sql代码

 

 
 
 
  1. select * from user_jobs; 

查看调度任务

 

 
 
 
  1. select * from dba_jobs_running; 

查看正在执行的调度任务

 

 
 
 
  1. select * from dba_jobs; 

查看执行完的调度任务

上述的相关内容就是对为Oracle数据库增加计划任务的描述,希望会给你带来一些帮助在此方面。

【编辑推荐】

  1. Oracle数据文件的特性介绍
  2. 获得Oracle系统性能的典型方案
  3. Oracle提高SQL的执行效率的3种好用方法
  4. Oracle表中数据导出成 Txt格式的方案
  5. Oracle 11g R2数据卫士的增强特性表现
THE END