久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Oracle數據庫JOB失敗怎么解決

140次閱讀
沒有評論

共計 1640 個字符,預計需要花費 5 分鐘才能閱讀完成。

今天丸趣 TV 小編給大家分享一下 Oracle 數據庫 JOB 失敗怎么解決的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

數據庫版本:11.2.0.3

測試說明:這里創建了一個日志表以及一個運行時必定出錯的 procedure,用于 job 的運行。這里只要記錄下每次 job 執行時視圖 user_jobs 中的 next_date 就可以推斷出 job 執行失敗后的重試規律。

為了測試 job 的重試規律我做了如下工作

日志表以及序列:

create table job_exec_logs (id number ,current_date date , next_date date ,failures number ,broken varchar2( 2)) ; 

 

create sequence seq_job_exec_logs_id ; 

測試 procedure

create or replace procedure pro_my_test is 

begin 

 insert into job_exec_logs select 

seq_job_exec_logs_id.nextval , sysdate , next_date , failures , broken from user_jobs ; 

 commit ; 

 execute immediate  select * from ddddsfs  ; 

end ; 

其中 ddddsfs 表示不存在的,也就是說只要運行 pro_my_test 存儲過程到最后都會出錯(但是日志表還是可以正常插入進去的)

創建 job:

var job number ; 

begin 

 sys.dbms_job.submit(job =  :job, 

 what =   pro_my_test ; , 

 next_date =  sysdate, 

 interval =   sysdate+5  ); 

 commit; 

end; 

其實整個測試過程沒什么可說的,讓 job 自動運行即可,但是需要等待 job 下次重試時間。

最后測試的結果:

dexter@REPO select trunc((next_date-lag(next_date,1) over (order by 4))*24*60) from ( 

 2 select * from job_exec_logs 

 3 union all 

 4 select 11111, sysdate , next_date ,failures , broken from user_jobs 

 5 order by 4 nulls first) ; 

 

TRUNC((NEXT_DATE-LAG(NEXT_DATE,1)OVER(ORDER BY 4))*24*60) 

——————————————————- 

 

 2 

 4 

 8 

 15 

 32 

 64 

 128 

 256 

 512 

 1024 

 1440 

 1440 

 

已選擇 13 行。 

如上結果以及筆者的其他測試可以判斷出:

1、每次重試時間都是遞增的,第一次 2 分鐘,4 分鐘,8 分鐘,16 分鐘 … 依此類推。

2、當超過 1440 分鐘,也就是 24 小時的時候,固定的重試時間為 1 天。

3、筆者還經過其他實驗得知,超過 16 次重試后,job 就會被標記為 broken,next_date 為 4000-1-1,也就是不再進行 job 重試。

4、oracle 數據庫重試的時間到達設定的下次執行時間后,以設定的 job 執行時間為準。

以上就是“Oracle 數據庫 JOB 失敗怎么解決”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,丸趣 TV 小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注丸趣 TV 行業資訊頻道。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-15發表,共計1640字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 颍上县| 舟曲县| 盐津县| 噶尔县| 准格尔旗| 自贡市| 榕江县| 阳高县| 吐鲁番市| 普定县| 龙南县| 马公市| 资源县| 九台市| 玛多县| 宁国市| 施秉县| 西乡县| 桦南县| 开远市| 陇西县| 宝应县| 泰安市| 甘洛县| 时尚| 沁源县| 新河县| 丹东市| 通化县| 瑞安市| 淮安市| 九台市| 迁西县| 通州区| 遂宁市| 吴川市| 双城市| 大庆市| 来凤县| 始兴县| 平和县|