中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

DBMS_JOBS 連續失敗16次自動Broken

發布時間:2020-08-05 06:27:05 來源:ITPUB博客 閱讀:239 作者:guocun09 欄目:關系型數據庫

Broken Jobs and the Job Queue [ID 103349.1]

DBMS_JOBS 連續失敗16次自動Broken


***Checked for relevance on 11-Jul-2012***

 

NOTE:

=====

The discussed functionality is still available in Oracle 10g and Oracle 11g.

However, with Oracle 10gR1 the DBMS_SCHEDULER package was introduced with many new views.

It is advised to use the new Oracle scheduler instead of old style Oracle jobs.

=====

 

The job queue is used to schedule the execution of a stored procedure at a

specified timed interval.  This tool is the only way the database can be forced

to perform a action more than once.

 

 

If you are receiving multiple ORA-12012 errors you should check for any broken jobs. 

 

  Error:  ORA 12012

  Text:   error on auto execute of job <num>

  ------- ------------------------------------------------------------------------

  Cause:  Some kind of error was caught while doing an automatic execute of a job.

  Action: Look at the accompanying errors for details on why the execute failed.

 

 

This can be done by executing the following SQL statement:

 

  SELECT JOB

  FROM DBA_JOBS

  WHERE BROKEN = 'Y';

 

  -or-

 

  SELECT FAILURES, JOB

  FROM DBA_JOBS;

 

If this statement returns a job with the number of failures set to 16 the job

has been broken.

 

Also, note the following:

 

  a) A job does not have to have failures = 16 to be broken. (e.g. if you break

     the job manually, this does not set the # of failures to 16)

 

  b) A job can be broken and failures can be greater than 16.  (e.g. if the job

     automatically breaks after 16 failures and the job is manually run and fails

     again, the job will remain broken and failures will be incremented to 17).

 

 

Once a job is broken it no longer will be executed by the database.  If a job

returns an error while Oracle is attempting to execute it, Oracle tries to

execute it again. The first attempt is made after one minute, the second

attempt after two minutes, the third after four minutes, and so on, with the

interval doubling between each attempt. If the job fails 16 times, Oracle

automatically marks the job as broken and no longer tries to execute it.

However, between attempts, you have the opportunity to correct the problem

that is preventing the job from running. This will not disturb the retry

cycle, and Oracle will eventually attempt to run the job again.

 

There are two ways to unbreak a broken job:

 

  1. EXECUTE DBMS_JOB.RUN(JOB NUMBER);

 

     Example:

       EXECUTE DBMS_JOB.RUN(10);

 

     This statement will force job 10 to execute immediately.  If this is

     successful the job will complete and reset failures to 0.  This would

     then flag the job as being unbroken.

 

  2. EXECUTE DBMS_JOB.BROKEN

     (JOB    => <job_number>,

     BROKEN => <true|false>)

 

     Example:

       EXECUTE DBMS_JOB.BROKEN(

       JOB    => 10,

       BROKEN => FALSE);

 

     The execution of this statement would unbreak job 10.

 

If the execution of either one of these procedures returns an error saying that

the specified job can not be found have the client log in as the owner of the

job and then attempt the statement again.  The owner of the job is the same as

the person who submitted the job.

 

 

Finally, you should always check the alert.log for any accompanying error

messages along with looking in the background_dump_dest directory for any

generated SNP trace files.

 

向AI問一下細節

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

AI

合作市| 探索| 土默特左旗| 宽城| 岗巴县| 和政县| 明星| 青河县| 东乡族自治县| 容城县| 威远县| 莱芜市| 拜泉县| 都匀市| 绩溪县| 连州市| 三原县| 吉安县| 天峻县| 天长市| 广丰县| 仁怀市| 夏河县| 五台县| 额尔古纳市| 灵川县| 郓城县| 金山区| 土默特左旗| 萍乡市| 颍上县| 龙井市| 拜泉县| 苏尼特右旗| 盱眙县| 准格尔旗| 抚顺县| 伽师县| 北流市| 杭锦后旗| 南岸区|