ORACLE JOB不能按預期執行的常見原因
JobsNotExecuting Automatically文件ID:註釋:313102.1
Symptoms
Jobs arenolonger executing automatically.
Ifforced(execdbms_job.run(<enter here jobnumber>);),theseexecutefine.
Cause
Tryingthemost common reasons why jobs don't execute automatically and as scheduled:
1) Instance in RESTRICTED SESSIONS mode?
Check if the instance is in restricted sessions mode:
select instance_name,logins from v$instance;
If logins=RESTRICTED, then:
alter system disable restricted session;
^-- Checked!
2) JOB_QUEUE_PROCESSES=0
Make sure that job_queue_processes is > 0
show parameter job_queue_processes
^-- Checked!
3) _SYSTEM_TRIG_ENABLED=FALSE
Check if _system_enabled_trigger=false
col parameter format a25
col value format a15
select a.ksppinm parameter,b.ksppstvl value from x$ksppi a,x$ksppcv b
Where a.indx=b.indx and ksppinm=’_system_trig_enabled’;
^-- Checked!
4) Is the job BROKEN?
select job,broken from dba_jobs where job=
If broken, then check the alert log and trace files to diagnose the issue.
^-- Checked! The job is not broken.
5) Is the job COMMITted?
Make sure a commit is issued after submitting the job:
DECLARE X NUMBER;
BEGIN
SYS.DBMS_JOB.SUBMIT
(
job => X
,what => 'dbms_utility.analyze_schema
(''SCOTT'',''COMPUTE'',NULL,NULL,NULL);'
,next_date => to_date('08/06/200509:35:00','dd/mm/yyyy hh24:mi:ss')
,no_parse => FALSE
);
COMMIT;
END;
/
If the job executes fine if forced (i.e., exec dbms_jobs.run(
is missing.
^-- Checked! The job is committed after submission.
6) UPTIME > 497 days
Check if the server (machine) has been up for more than 497 days:
For SUN , use 'uptime' OS command.
If uptime>497 and the jobs do not execute automatically, then you are hitting bug 3427424
(Jobs may stop running after 497 days uptime) which is fixed in 9206 and A102
^-- Checked! The server in this case has been up 126 days only
7) DBA_JOBS_RUNNING
Check dba_jobs_running to see if the job is still running:
select * from dba_jobs_running;
^-- Checked! The job is not running.
8) LAST_DATE and NEXT_DATE
Check if the last_date and next_date for the job are proper:
select Job,Next_date,Last_date from dba_jobs where job=
^-- NEXT_DATE is porper, however LAST_DATE is null since the job never executes automatically.
9) NEXT_DATE and INTERVAL
Check if the Next_date is changing properly as per the interval set in dba_jobs:
select Job,Interval,Next_date,Last_date from dba_jobs where job=
^-- This is not possible since the job never gets executed automatically.
10) Toggle value for JOB_QUEUE_PROCESSES
Set job_queue_processes=0, wait some time and then and set it back to the original value:
alter system set job_queue_processes=0 ;
--
alter system set job_queue_processes=4 ;
Ref: Bug 2649244 (fixed by: 9015,9203,A000)
^-- Done but did not help
11) DBMS_IJOB(Non-documented):
Last ditch effort.
Either restart the database or try the following:
exec dbms_ijob.set_enabled(true);
Ref: Bug 3505718 (Closed, Not a Bug)
@Note 90989.1 (Using DBMS_IJOB) INTERNAL NOTE
Done but did not help
These are the most common causes for this behavior.
Solution
The solution ended up to be the server (machine) uptime.
Even though it was up for only 126 days, after the server was rebooted all jobs were able to execute automatically.
To implement the solution, please execute the following steps:
1. Shutdown all applications, including databases.
2. Shutdown the server (machine)
3. Restart all applications, including databases.
4. Check that jobs are executing automatically.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/119501/viewspace-611011/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Job不能執行原因分析
- Oracle JOB異常中斷原因分析Oracle
- oracle建立job並執行jobOracle
- 常見病發病原因及治療、預防措施
- 伺服器故障的常見原因和預防辦法伺服器
- 如何讓Oracle產生預期的執行計劃(二)Oracle
- 如何讓Oracle產生預期的執行計劃(三)Oracle
- 如何讓Oracle產生預期的執行計劃(一)Oracle
- oracle job使用詳解及job不執行的檢查方法Oracle
- Oracle 10g GATHER_STATS_JOB作業週六6點開始執行的原因Oracle 10g
- 多執行緒-多執行緒常見的面試題執行緒面試題
- 常見的四種執行緒池執行緒
- Oracle中job無法自動執行Oracle
- 停掉正在執行的JOB
- Oracle執行JOB報ORA-27492:無法執行作業Oracle
- 理解常見的執行緒同步設施執行緒
- Oracle診斷案例-Job任務停止執行Oracle
- oracle JOB 查詢 新增 修改 刪除 執行Oracle
- Oracle中JOB的建立後不執行解決方法Oracle
- job任務均不執行,手工執行報job now running
- 執行緒池以及四種常見執行緒池執行緒
- 常見的授權錯誤及原因
- 使用HTTP代理失敗的常見原因HTTP
- 21. 羅列常見的幾個執行時異常
- 【Python】執行系統命令的常見用法Python
- 執行緒8--GCD常見用法執行緒GC
- 生產系統 SQL 執行異常原因分析SQL
- xxl-job預設accessToken命令執行漏洞復現
- Oracle:建立JOB定時執行儲存過程Oracle儲存過程
- Oracle Job 定時執行設定例項[final]Oracle
- Oracle診斷案例:Job任務停止執行(轉)Oracle
- Mac 下 Docker 執行較慢的原因分析及個人見解MacDocker
- 定義JOB的執行間隔
- 網站流量異常變動的8種常見原因網站
- 多執行緒-執行緒的狀態轉換圖及常見執行情況執行緒
- 幾種常見的延遲執行處理方式
- javascript常見的幾種自執行函式形式JavaScript函式
- 預設dbms_scheduler job 選擇在哪個節點執行