問題現象: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');