job做业没法执行

问题现象:oracle

报警文件中一直在报下面的错误:app

Thu Jul 26 23:04:42 2012ast

Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_j000_31365.trc:date

ORA-12012: 自动执行做业 23 出错file

ORA-12005: 不能安排过去时间的自动刷新select

Thu Jul 26 23:06:42 2012next

Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_j000_31383.trc:db

ORA-12012: 自动执行做业 23 出错di

ORA-12005: 不能安排过去时间的自动刷新文件

Thu Jul 26 23:10:43 2012

Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_j000_31417.trc:

ORA-12012: 自动执行做业 23 出错

ORA-12005: 不能安排过去时间的自动刷新

Thu Jul 26 23:18:43 2012

Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_j000_31478.trc:

ORA-12012: 自动执行做业 23 出错

ORA-12005: 不能安排过去时间的自动刷新

Thu Jul 26 23:34:44 2012

Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_j000_31614.trc:

ORA-12012: 自动执行做业 23 出错

ORA-12005: 不能安排过去时间的自动刷新

问题解决:

该问题应该是job执行后,计算job的下一个执行时间时,发现比当前的时间还早,就报这个错误:

检查23号job

select job,last_date,next_date,interval from dba_jobs;

23 2012-7-28 0:06:47 00:06:47 2012-7-28 23:04:37 23:04:37 (trunc(sysdate)+25/26)

主要为这个间隔时间为 (trunc(sysdate)+25/26)

select (trunc(sysdate)+25/26) from dual;

这个时间为当天的 23:04:37 ,因此没法执行

修改成'trunc(sysdate)+25/24'便可.

具体修改过程为:

Execute DBMS_JOB.INTERVAL (23, 'trunc(sysdate)+25/24');

相关文章
相关标签/搜索