`

oracle定时器简单操作

阅读更多

首先创建一张测试表:

create table JOBTEST ( ID VARCHAR2(50) primary key, NAME VARCHAR2(20), AGE NUMBER(3) )

 然后写好定时器要调用的存储过程:

create or replace procedure myprocedure is begin insert into jobtest values(to_char(sysdate,'yyyy-MM-dd hh:mm:ss'),'july',22); commit; end;

 

接下来就要建立定时器了:

var myjob number; begin dbms_job.submit(:myjob,'myprocedure;',sysdate,'sysdate+1/24/60/60'); end; 

  

最后启动定时器:

begin dbms_job.run(:myjob); end; 

 

 启动之后,该定时器(理论上)会一秒钟想数据表jobtest中插入一条记录。但是事实上每隔大概五秒才执行一次(原因未知)。

如果建立以上sql语句之后,定时器并未运行,请一dba角色运行select * from v$parameter t where t.name like 'job%';看value的值是多少,如果等于0,则将它设置为大于0的值即可:

可以在C:\oracle\admin\july\pfile\init.ora文件中修改但需要重启动数据库 (july指的是实例名):
  job_queue_interval =   10  
  job_queue_processes =  4;
  如果不想重启动数据库  
  ALTER SYSTEM SET job_queue_processes=5;

查看定时器:以dba角色登录执行select   *   from   dba_jobs;或者当前用户select * from user_jobs;
 删除定时器 begin dbms_job.remove(jobno);    end;    commit;jobno 为 job查询列表中的编号,删除后必须提交事务才能彻底删除。也可以以dba登录后从dba_jobs表中删除。

偶尔一些定时器执行时间很长,在其执行期间要将其停止,必须将其进程kill,然后等待其释放资源,相关语句:

select * from V$session t order by t.USERNAME,t.SID; 
select sid,serial#,username,program,machine,status from v$session; select * from v$access t where t.OWNER='july'; 
alter system kill session 'x,y';

 

 

定时器的参数说明:

myjob参数是由Submit()过程返回的binary_ineger。这个值用来唯一标识一个工作;

what参数是将被执行的PL/SQL代码块,这里指的是一个存储过程,注意名字后面的分号;

next_date参数指识何时将运行这个工作。写Job的时候可以不指定该值;

interval参数何时这个工作将被重执行。

关于interval的设置,参考以下几个例子:

1、 每分钟执行

Interval => TRUNC(sysdate,’mi’) + 1 / (24*60)

2、 每天定时执行

例如:每天的凌晨2点执行

Interval => TRUNC(sysdate) + 1 +2 / (24)

3、 每周定时执行

例如:每周一凌晨2点执行

Interval => TRUNC(next_day(sysdate,2))+2/24 --星期一,一周的第二天

4、 每月定时执行

例如:每月1日凌晨2点执行

Interval =>TRUNC(LAST_DAY(SYSDATE))+1+2/24

5、 每季度定时执行

例如每季度的第一天凌晨2点执行

Interval => TRUNC(ADD_MONTHS(SYSDATE,3),'Q') + 2/24

6、 每半年定时执行

例如:每年71日和11日凌晨2

Interval => ADD_MONTHS(trunc(sysdate,'yyyy'),6)+2/24

7、 每年定时执行

例如:每年11日凌晨2点执行

Interval =>ADD_MONTHS(trunc(sysdate,'yyyy'),12)+2/24

分享到:
评论
2 楼 痛苦的人 2012-08-14  
  对我太有帮助了。
1 楼 dongbiying 2012-04-17  

相关推荐

    精通qt4编程(源代码)

    \12.3.2 使用Oracle数据库 313 \12.4 小结 325 \第13章 Qt的模板库和工具类 326 \13.1 Qt容器类 326 \13.1.1 QList、QLinkedList和QVector 327 \13.1.2 QMap、QHash 332 \13.2 QString 334 \13.2.1 隐式共享 335 \...

    精通Qt4编程(第二版)源代码

    \12.3.2 使用Oracle数据库 313 \12.4 小结 325 \第13章 Qt的模板库和工具类 326 \13.1 Qt容器类 326 \13.1.1 QList、QLinkedList和QVector 327 \13.1.2 QMap、QHash 332 \13.2 QString 334 \13.2.1 隐式共享 ...

    JAVA上百实例源码以及开源项目源代码

    Java数组倒置 简单 Java图片加水印,支持旋转和透明度设置 摘要:Java源码,文件操作,图片水印 util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印...

    基于springboot的设备管理系统+源代码+文档说明

    设计之初,就非常注重安全性,为企业系统保驾护航,让一切都变得如此简单。 - 提供了代码生成器,只需编写30%左右代码,其余的代码交给系统自动生成,可快速完成开发任务 - 后台系统支持MySQL、Oracle、SQL Server、...

    JAVA上百实例源码以及开源项目

    像坐标控制、旋转矩阵、定时器、生成图像、数据初始化、矩阵乘法、坐标旋转、判断是否是顺时针方向排列、鼠标按下、放开时的动作等,都可在本源码中得以体现。 Java编写的显示器显示模式检测程序 2个目标文件 内容...

    完整版《HTML5高级程序设计》2

    1.6.4 使用Selectors API简化选取操作 15 1.6.5 JavaScript日志和调试 18 1.6.6 window.JSON 19 1.6.7 DOM Level 3 19 1.6.8 Monkeys、Squirrelfish和其他JavaScript引擎 19 1.7 小结 20 第2章 Canvas API 22 2.1 ...

    完整版《HTML5高级程序设计》4

    1.6.4 使用Selectors API简化选取操作 15 1.6.5 JavaScript日志和调试 18 1.6.6 window.JSON 19 1.6.7 DOM Level 3 19 1.6.8 Monkeys、Squirrelfish和其他JavaScript引擎 19 1.7 小结 20 第2章 Canvas API 22 2.1 ...

    完整版《HTML5高级程序设计》5

    1.6.4 使用Selectors API简化选取操作 15 1.6.5 JavaScript日志和调试 18 1.6.6 window.JSON 19 1.6.7 DOM Level 3 19 1.6.8 Monkeys、Squirrelfish和其他JavaScript引擎 19 1.7 小结 20 第2章 Canvas API 22 2.1 ...

    完整版《HTML5高级程序设计》3

    1.6.4 使用Selectors API简化选取操作 15 1.6.5 JavaScript日志和调试 18 1.6.6 window.JSON 19 1.6.7 DOM Level 3 19 1.6.8 Monkeys、Squirrelfish和其他JavaScript引擎 19 1.7 小结 20 第2章 Canvas API 22 2.1 ...

    HTML5高级程序设计.part5

    1.6.4 使用Selectors API简化选取操作 15 1.6.5 JavaScript日志和调试 18 1.6.6 window.JSON 19 1.6.7 DOM Level 3 19 1.6.8 Monkeys、Squirrelfish和其他JavaScript引擎 19 1.7 小结 20 第2章 Canvas API 22 ...

    HTML5高级程序设计.part4

    1.6.4 使用Selectors API简化选取操作 15 1.6.5 JavaScript日志和调试 18 1.6.6 window.JSON 19 1.6.7 DOM Level 3 19 1.6.8 Monkeys、Squirrelfish和其他JavaScript引擎 19 1.7 小结 20 第2章 Canvas API 22 ...

    HTML5高级程序设计.part1

    1.6.4 使用Selectors API简化选取操作 15 1.6.5 JavaScript日志和调试 18 1.6.6 window.JSON 19 1.6.7 DOM Level 3 19 1.6.8 Monkeys、Squirrelfish和其他JavaScript引擎 19 1.7 小结 20 第2章 Canvas API 22 ...

    HTML5高级程序设计.part2

    1.6.4 使用Selectors API简化选取操作 15 1.6.5 JavaScript日志和调试 18 1.6.6 window.JSON 19 1.6.7 DOM Level 3 19 1.6.8 Monkeys、Squirrelfish和其他JavaScript引擎 19 1.7 小结 20 第2章 Canvas API 22 ...

    HTML5高级程序设计.part3

    1.6.4 使用Selectors API简化选取操作 15 1.6.5 JavaScript日志和调试 18 1.6.6 window.JSON 19 1.6.7 DOM Level 3 19 1.6.8 Monkeys、Squirrelfish和其他JavaScript引擎 19 1.7 小结 20 第2章 Canvas API 22 ...

Global site tag (gtag.js) - Google Analytics