重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛

标题: job作业无法执行 [打印本页]

作者: 郑全    时间: 2012-7-29 09:03
标题: job作业无法执行

问题现象:

 

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

 Thu Jul 26 23:04:42 2012
Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_j000_31365.trc:
ORA-12012: 自动执行作业 23 出错
ORA-12005: 不能安排过去时间的自动刷新
Thu Jul 26 23:06:42 2012
Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_j000_31383.trc:
ORA-12012: 自动执行作业 23 出错
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');






欢迎光临 重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2