variable jobno number ;
begin
sys.dbms_job.submit(job => :jobno,
what => 'your_procedure1;
your_procedure2;' ,
next_date => to_date( '20080918 18:50:00' , 'yyyymmdd hh24:mi:ss' ),
interval => 'sysdate+1/24' );
commit ;
end ;
/
2、删除Job
print jobno;
begin
dbms_job.remove(:jobno);
commit ;
end ;
/
3、其他操作:
修改要执行的操作:dbms_job.what(jobno,what);
修改下次执行时间:dbms_job.next_date(job,next_date);
修改间隔时间:dbms_job.interval(job,interval);
停止job:dbms.broken(job,broken,nextdate);
启动job:dbms_job.run(jobno);
修改job_queue_processes的值:
可通过select * from v$parameter;查看其值;
或者直接用show parameter job_queue_processes;查看如下:
NAME TYPE VALUE
--------------- ----------- ------------
job_queue_processes integer 10
方法1.startup pfile='C: oracleora90databaseinitorcl.ora';
//这个方法用来修改initorcl.ora文件的job_queue_processes参数,然后重新启动数据库
方法2.alter system set job_queue_processes=10
//这个方法不用重启数据库就可以生效,系统自动修改init.ora文件以后即可生效 。
注意:保证参数不为0,否则JOB不自动运行
4、时间间隔偏移的问题:
SQL> create table t10 (a int ,b date);
Table created
SQL> create or replace procedure k
2 as
3 i int := 0;
4 begin
5 insert into t10 values(i,sysdate);
6 commit;
7 end;
8 /
Procedure created
SQL> begin
2 sys.dbms_job.submit(job => :jobno,
3 what => 'k;',
4 next_date => to_date(sysdate),
5 interval => 'sysdate+1/1440');
6 commit;
7 end;
8 /
PL/SQL procedure successfully completed
jobno
---------
47
SQL> column B format a30
SQL> column A format a5
SQL> select * from t10;
A B
----- ------------------------------
0 2008-9-18 17:07:38
0 2008-9-18 17:08:39
0 2008-9-18 17:09:40
0 2008-9-18 17:10:41
发现虽然设置了每分钟执行一次,但是每次执行时间是在向后偏移
所以需要进行调整,将job建为如下:
SQL> begin
2 dbms_job.remove(:jobno);
3 commit;
4 end;
5 /
PL/SQL procedure successfully completed
jobno
---------
47
SQL> begin
2 sys.dbms_job.submit(job => :jobno,
3 what => 'k;',
4 next_date => to_date(sysdate),
5 interval => 'trunc(sysdate,''mi'')+1/1440');
6 commit;
7 end;
8 /
PL/SQL procedure successfully completed
jobno
---------
48
SQL> truncate table t10;
Table truncated
SQL> select * from t10;
A B
----- ------------------------------
0 2008-9-18 17:19:02
0 2008-9-18 17:20:03
0 2008-9-18 17:21:04
0 2008-9-18 17:22:01
0 2008-9-18 17:23:02
虽然秒数还是有稍微的不同,这是由于每次job的运行时间所致
但是不会像之前一样一直往后偏移。
相关推荐
oracle JOB常见的执行时间, 在初学者定义JOB时,对于执行时间往往不知道如何设置. 该文档列举了常见的定义方式.可以由此进行扩展.
用作业Job写的简单的executer类,测试程序运行时间,或限制程序运行时间
Oracle Job 语法和时间间隔的设定
解决方案为单独再部署一个xxl-job-read-log服务,将读日志的请求都转到这个服务上,由这个服务统一读取日志。 具体步骤: 1.将执行日志通过nfs存储到一个统一路径,由于文件名是数据库id,所以不会有覆盖问题。 2....
ElasticJob 是面向互联网生态和海量任务的分布式调度解决方案,由两个相互独立的子项目 ElasticJob-Lite 和 ElasticJob-Cloud 组成。它通过弹性调度、资源管控、以及作业治理的功能,打造一个适用于互联网场景的...
ElasticJob 是面向互联网生态和海量任务的分布式调度解决方案,由两个相互独立的子项目 ElasticJob-Lite 和 ElasticJob-Cloud 组成。 它通过弹性调度、资源管控、以及作业治理的功能,打造一个适用于互联网场景的...
xxl-job-admin 作为调度中心,有可视化的web管理界面,可将其作为一个模块以源码的方式引入到我们的项目中,我们可对其进行自定义的修改,但一般不需要;xxl-job-core 是 XXL-JOB的核心,绝大多数情况下我们不用对其...
ElasticJob分布式调度解决方案 v3.0.4.zip
文件描述了创建JOB的脚本,并且对脚本中的时间间隔进行了描述与写法。
Elastic-Job是一个分布式调度解决方案,由两个相互独立的子项目Elastic-Job-Lite和Elastic-Job-Cloud组成。Elastic-Job-Lite定位为轻量级无中心化解决方案,使用jar包的形式提供分布式任务的协调服务;Job-Cloud采用...
最近公司项目上线,需要把app部署在多台服务器上,但只能让其中一台服务器的job执行,一台服务器挂了,另一台还能继续执行job,通过网上查找资料,都是java工程的方式,不好部署并测试,经过二天辛苦整合,终于整理成...
XXL-JOB是一个轻量级分布式任务...但该项目官方版的数据库使用的是mysql,里面的sql都是基于mysql写的,本人花了半天时间修改为SqlServer版的,目前测试可用没抛异常。 xxl-job-admin 版本为2.0.2 SqlServer版本为2012
job shop matlab program ,su
oracle数据库job每隔固定时间执行内容,详细介绍和使用
NULL 博文链接:https://xj84.iteye.com/blog/1182279
xxl-job-admin
从oracle库中导出自定义的job脚本。
xxl-job适配达梦数据库(DM8),附带数据库脚本,用户名密码自行修改,SCHEMA=xxl_job
elastic-job例子elastic-job例子elastic-job例子elastic-job例子elastic-job例子elastic-job例子elastic-job例子elastic-job例子