91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Oracle數據庫JOB失敗怎么解決

發布時間:2022-01-17 16:55:30 來源:億速云 閱讀:257 作者:iii 欄目:關系型數據庫

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

數據庫版本:11.2.0.3

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

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

日志表以及序列:

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

  2.   

  3. create sequence seq_job_exec_logs_id ;  

測試procedure

  1. create or replace procedure pro_my_test is  

  2. begin  

  3.   insert into job_exec_logs select  

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

  5.   commit ;  

  6.   execute immediate 'select * from ddddsfs' ;  

  7. end ;  

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

創建job:

  1. var job number ;  

  2. begin  

  3.   sys.dbms_job.submit(job => :job,  

  4.                       what => 'pro_my_test ;',  

  5.                       next_date => sysdate,  

  6.                       interval => 'sysdate+5' );  

  7.   commit;  

  8. end;  

  9. /  

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

最后測試的結果:

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

  2.   2  select * from job_exec_logs  

  3.   3  union all  

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

  5.   5  order by 4 nulls first) ;  

  6.   

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

  8. -------------------------------------------------------  

  9.   

  10.                                                       2  

  11.                                                       4  

  12.                                                       8  

  13.                                                      15  

  14.                                                      32  

  15.                                                      64  

  16.                                                     128  

  17.                                                     256  

  18.                                                     512  

  19.                                                    1024  

  20.                                                    1440  

  21.                                                    1440  

  22.   

  23. 已選擇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失敗怎么解決”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

庆安县| 鸡泽县| 宁强县| 南陵县| 大城县| 乌恰县| 镇原县| 安溪县| 陆良县| 浦北县| 红安县| 澜沧| 石台县| 油尖旺区| 如皋市| 南部县| 昌宁县| 隆尧县| 平遥县| 高邮市| 突泉县| 大连市| 红桥区| 崇文区| 平罗县| 措勤县| 石门县| 苍南县| 孟连| 仪陇县| 卫辉市| 乌兰察布市| 新巴尔虎右旗| 应城市| 珲春市| 广灵县| 海南省| 常州市| 湖北省| 古浪县| 迁安市|