ORA-12005 錯誤的解決
Oracle Job ORA-12005 錯誤的解決
-----最近發現兩個資料庫每天晚上23:00分都有警告日誌的報錯資訊:
ORACLE_HOME = /oracle/oracle/product/10.2.0/db_2
System name: HP-UX
Node name: crm2db1
Release: B.11.31
Version: U
Machine: ia64
Instance name: tjcrm2
Redo thread mounted by this instance: 1
Oracle process number: 5104
Unix process pid: 16600, image: oracle@crm2db1 (J002)
*** SERVICE NAME:(SYS$USERS) 2013-09-21 23:00:01.532
*** SESSION ID:(4803.7857) 2013-09-21 23:00:01.532
*** 2013-09-21 23:00:01.532
ORA-12012: 自動執行作業 2289 出錯
ORA-12005: 不能安排過去時間的自動重新整理
------檢視相關的job
select job,log_user,schema_user,what,LAST_DATE,LAST_SEC,THIS_DATE,THIS_SEC,NEXT_DATE,NEXT_SEC,INTERVAL from dba_jobs where job=2289;
JOB LOG_USER SCHEMA_USER WHAT LAST_DATE LAST_SEC THIS_DATE THIS_SEC NEXT_DATE NEXT_SEC INTERVAL
---------- --------- -------------- -------------------- ------------ ---------------- ------------ ---------------- ------------ ---------------- ------------------------------
2289 INST INST begin 22-SEP-13 00:02:12 22-SEP-13 23:00:00 TRUNC(SYSDATE + 1) - 1/24
DELETE_KEY_INFO;
end;
發現interval是TRUNC(SYSDATE + 1) - 1/24。在檢視all_jobs中,以下列的含義為:
(a)LAST_DATE:Date on which this job last successfully executed——job成功執行的完畢時間
(b)LAST_SEC:Same as LAST_DATE. This is when the last successful execution started.--上次成功執行的開始時間 ~
(c)THIS_DATE:Date that this job started executing (usually null if not executing)——沒有job在執行的時候,該欄位為空。若有job正在執行,這個時間是job的開始執行時間。
(d)THIS_SEC:Same as THIS_DATE. This is when the last successful execution started.
(e)NEXT_DATE:Date that this job will next be executed——job下次執行時間。
(f)NEXT_SEC:Same as NEXT_DATE. This is when the last successful execution started。
(g)INTERVAL:A date function, evaluated at the start of execution, becomes next NEXT_DATE
------原因分析:
job執行的時候是21-SEP-13 23:00:00 因此計劃出下一次的執行時間為trunc(21-SEP-13 23:00:00 +1) -1/24=還是等於21-SEP-13 23:00:00但執行job後時間已經是22-SEP-13 00:02:12 ,這時資料庫
發現下一次執行的時間小於現在的時間。所以報錯。但是job已經執行成功。
------解決方案:
修改INTERVAL使下一次執行的時候大於當前執行後的時間。
EXEC dbms_ijob.interval(job,interval)
exec dbms_ijob.interval(2289,’TRUNC(SYSDATE + 1)+ 23/24’); =====>在sys使用者下執行其它使用者下的job時,用dbms_ijob
commit;
exec dbms_ijob.next_date(2289,to_date('2013-09-23 23:00:00','yyyy-mm-dd hh24:mi:ss'));
commit;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31444259/viewspace-2153898/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle Job ORA-12005 錯誤的解決Oracle
- Ocelot錯誤解決
- undefined reference to錯誤的解決方法Undefined
- SAXParseException的錯誤解決之二Exception
- PHP錯誤“Thisfilehasexpired”的解決方法PHP
- VIM 常用錯誤解決
- sqldeveloper for windows 錯誤解決SQLDeveloperWindows
- dns錯誤怎麼辦 dns錯誤的解決辦法DNS
- vsftpd 錯誤:530 and 500 錯誤解決方法FTP
- 解決MySQL server has gone away錯誤的解決方案MySqlServerGo
- Qt報Multiple definition錯誤的解決QT
- Cocopods的升級錯誤解決
- 解決 ngrok 的 Domain 錯誤問題AI
- 錯誤Namenodeisinsafemode的解決方法
- 解決DBCA的ORA-32700錯誤
- 【MySQL】解決mysql的 1594 錯誤MySql
- latex 錯誤以及解決方案
- ora-27504錯誤解決
- Datastore error in 'dirbdb'錯誤解決ASTError
- ORA-27054 錯誤解決
- mysql與php錯誤解決MySqlPHP
- mysql錯誤解決總結MySql
- PbootCMS 404 錯誤解決方法boot
- 【故障解決】OGG-00446 錯誤解決
- 微信支付錯誤兩個問題的解決:curl出錯,錯誤碼:60
- 寬頻連線錯誤678 寬頻連線錯誤691錯誤的解決辦法
- dbfread報錯ValueError錯誤解決方法Error
- standby新增檔案錯誤的解決方法
- MYSQL中 TYPE=MyISAM 錯誤的解決方法MySql
- Mac上搭建chromedriver的錯誤解決方法MacChrome
- 一個 ExpressionChangedAfterItHasBeenCheckedError 錯誤的解決過程ExpressError
- scp出現錯誤的解決辦法
- [傳]解決DBCA的ORA-32700錯誤
- ORA-00091錯誤的解決方式
- sqplus 的 segmentation fault錯誤及解決!Segmentation
- 編譯EJB出現錯誤的解決編譯
- 解決ntp的錯誤 no server suitable for synchronization foundServerUI
- samba一個錯誤的解決辦法!Samba