JOB长时间运行 我这边数据库里面有一个JOB,时间间隔为5秒,过程执行完大概要十几秒,运行一天后,NEXT DATE 始终停在一起时间点上.是什么原因了,急求! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1、检查你的Job运行有没有问题 用dbms_job.run运行测试一下job是否能正确运行。2、检查参数设置是否有问题 c:\sqlplus /nolog SQL> conn sys@myoracle as sysdba SQL> show parameters jobNAME TYPE VALUE------------------------------------ ----------- ------------------------------job_queue_processes integer 10该参数必须有值 这些参数都是正确的,才开始JOB还有运行的,只是运行一段时间后,时间就定在那里. 先用dbms_job.run测试一下看看JOB是否还能正常运行。也有可能就像楼上的楼上所说的,在JOB程序里,存在对同一资源进行更新操作时造成的循环死锁,仔细检查一下程序看看是不是有逻辑上的问题。 时间间隔为5秒,过程执行完大概要十几秒第一次没执行完,下一次又来!如果当中存在数据一致性问题就肯定会出问题的。看看job的逻辑,可以的话时间不要小于job运行时间。 程序里面是有对同一个进行更新操作,我在网上看到的,是一个JOB执行完了,才开始计算下一个时间点的啊. 应该是job执行时间过短的原因吧时间间隔为5秒,过程执行完大概要十几秒第一次没执行完,下一次又来!如果当中存在数据一致性问题就肯定会出问题的。看看job的逻辑,可以的话时间不要小于job运行时间。 userzhang(北风) ( ) 信誉:100 Blog 2007-03-27 11:08:14 得分: 0 TO:世幻飞扬:处理时间大于间隔时间,我通常先修改标志,再进行处理。能否说的详细一点.-------------------------------------------------------------------------比如:现在通过一个JOB处理接口业务单,在这个业务单主表中,我通常设计一个flag字段,当程序去处理的时候,将它流程化。程序(JOB)处理这些单子之前,flag为0,程序开始处理时,先Update这个flag为1表示程序正在处理,处理完后,update这个flag为2表示处理完成。这样,当JOB下次轮回时,不会重复处理这些业务单,也不会造成循环锁了。 一个最简单的地方,是不是failure到16了…… Oracle如何实现热备 E:\oracle\product\10.2.0\oradata\wzinner\里的ora文件太大 oracle建表语句 请教下like '%%'是不是查找全部记录,还是只查找非空字段 怎样获得这个存储过程中的sql语句的执行结果? oracle怎么回收表owner的权限 oracle连接 求救各位高手,DECODE问题,急! 大散分。。。漫谈数据库的中庸思想 表中的记录存在从属关系,sql语句该如何写,精通sql的高手一定要来帮帮忙,我的最后一关! imp后程序无法运行的问题 oracle 版本支持问题
用dbms_job.run运行测试一下job是否能正确运行。
2、检查参数设置是否有问题
c:\sqlplus /nolog
SQL> conn sys@myoracle as sysdba
SQL> show parameters jobNAME TYPE VALUE
------------------------------------ ----------- ------------------------------
job_queue_processes integer 10
该参数必须有值
也有可能就像楼上的楼上所说的,在JOB程序里,存在对同一资源进行更新操作时造成的循环死锁,仔细检查一下程序看看是不是有逻辑上的问题。
看看job的逻辑,可以的话时间不要小于job运行时间。
看看job的逻辑,可以的话时间不要小于job运行时间。
TO:世幻飞扬:处理时间大于间隔时间,我通常先修改标志,再进行处理。能否说的详细一点.-------------------------------------------------------------------------
比如:现在通过一个JOB处理接口业务单,在这个业务单主表中,我通常设计一个flag字段,当程序去处理的时候,将它流程化。程序(JOB)处理这些单子之前,flag为0,程序开始处理时,先Update这个flag为1表示程序正在处理,处理完后,update这个flag为2表示处理完成。这样,当JOB下次轮回时,不会重复处理这些业务单,也不会造成循环锁了。