经常在SQL Server上创建作业去定时执行某些任务在Oracle下则一般都是通过编码的方式通过项目自带的计划任务框架去调用存储过程今天才发现原来Oracle下创建一个计划任务要比SQL Server简单的多
创建计划任务
Sql代码
X NUMBER;
GIN
SYSDBMS_JOBSUBMIT(job => X
what => PROC_YKTSJTB;存储过程名称
next_date => trunc(sysdate+/MI)下次执行时间
interval => trunc(sysdate+/MI)间隔时间
no_parse => FALSE);
SYSDBMS_OUTPUTPUT_LINE(Job Number is: || to_char(x));
COMMIT;
D;
X NUMBER;
BEGIN
SYSDBMS_JOBSUBMIT(job => X
what => PROC_YKTSJTB;存储过程名称
next_date => trunc(sysdate+/MI)下次执行时间
interval => trunc(sysdate+/MI)间隔时间
no_parse => FALSE);
SYSDBMS_OUTPUTPUT_LINE(Job Number is: || to_char(x));
COMMIT;
END;
以上主要注意三个参数
what :需要计划任务执行的动作
next_date:下次计划任务执行的时间具体时间可以根据oracle的trunc构造
interval:计划任务的执行周期
计划任务执行情况监控
Sql代码
select * from user_jobs;查看调度任务
select * from dba_jobs_running;查看正在执行的调度任务
select * from dba_jobs;查看执行完的调度任务