免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1000 | 回复: 0
打印 上一主题 下一主题

ORACLE JOB故障常见原因 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-20 09:48 |只看该作者 |倒序浏览
 JobsNotExecuting Automatically文档ID:注释:313102.1
  Symptoms
  Jobs arenolonger executing automatically.
  Ifforced(execdbms_job.run();),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();), then likely a commit
  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.
 
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP