oracle定时任务失效
發現系統數據沒有更新,查看oracle定時任務,估計沒有執行。
發現next_date變成了4000/1/1 ,broken被選中。
select * from user_jobs發現該任務失敗次數達16次。
查得如下原因:
當任務運行失敗時,SNP過程在1分鐘后將再次試圖運行該任務。如果這次運行又失敗了,下一次嘗試將在2分鐘后進行,再下一次在4分鐘以后。任務隊列每次 加倍重試間隔直到 它超過了正常的運行間隔。在連續16次失敗后,任務就被標記為中斷的(broken),如果沒有用戶干預,任務隊列將不再重復執行。
當將一個任務的next_date參數賦值為null時,則該任務下一次運行的時間將被指定為4000年1月1 日,也就是說該任務將永遠不再運行。在大多數情況下,這可能是我們不愿意 看到的情形。但是,換一個角度來考慮,如果想在任務隊列中保留該任務而又不想讓其 運行,將next_date設置為null卻是一個非常簡單的辦法。
?
手動test該定時任務,發現了報錯原因,是插入ipv6的ip失敗,將其刪除。將定時任務恢復,重新執行,執行成功則失敗次數將重置0.
將任務停掉的方法:
? dbms_job.broken(v_job,true,next_date);??????? //停止一個job,v_job可寫job號,里面參數true也可是false,next_date(某一時刻停止)也可是sysdate(立刻停止)。
轉載于:https://www.cnblogs.com/peterpanzsy/archive/2013/04/10/3011852.html
總結
以上是生活随笔為你收集整理的oracle定时任务失效的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQLserver 中时间减,并把结果转
- 下一篇: 设置winfrom窗体透明度,拖动,任务