我们一般在SQL Server上创建相关的作业去定时的执行一些任务,在Oracle数据库下我们通常都是通过编码的方式,通过一些项目自带的相应计划任务框架对存储过程进行调用。今天才发现,原来Oracle下创建一个计划任务要比SQL Server简单的多。
1、创建计划任务:
Sql代码
XNUMBER; GIN SYS.DBMS_JOB.SUBMIT(job=>X, what=>'PROC_YKTSJTB;',
存储过程名称
next_date=>trunc(sysdate+5/1440,'MI'),
下次执行时间
interval=>'trunc(sysdate+1440/1440,''MI'')',
间隔时间
no_parse=>FALSE); SYS.DBMS_OUTPUT.PUT_LINE('JobNumberis:'||to_char(x)); COMMIT; D; XNUMBER; BEGIN SYS.DBMS_JOB.SUBMIT(job=>X, what=>'PROC_YKTSJTB;',
存储过程名称
next_date=>trunc(sysdate+5/1440,'MI'),
下次执行时间
interval=>'trunc(sysdate+1440/1440,''MI'')',
间隔时间
no_parse=>FALSE); SYS.DBMS_OUTPUT.PUT_LINE('JobNumberis:'||to_char(x)); COMMIT; END;
以上主要注意三个参数:
what :需要计划任务执行的动作;
next_date:下次计划任务执行的时间,具体时间可以根据Oracle数据库的trunc构造;
interval:计划任务的执行周期;
2、计划任务执行情况监控
Sql代码
select*fromuser_jobs;
查看调度任务
select*fromdba_jobs_running;
查看正在执行的调度任务
select*fromdba_jobs;
查看执行完的调度任务
上述的相关内容就是对为Oracle数据库增加计划任务的描述,希望会给你带来一些帮助在此方面。
【编辑推荐】
- Oracle数据文件的特性介绍获得Oracle系统性能的典型方案Oracle提高SQL的执行效率的3种好用方法Oracle表中数据导出成 Txt格式的方案Oracle 11g R2数据卫士的增强特性表现