ORACLE有一种定时调度机制,用dbms_job包来管理。 设置的JOB就是不运行,搞得的郁闷, 最好执行了这个才搞定 exec dbms_ijob。set_enabled(true); 下面提供一个checklist用于检查job异常的原因: 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’; If _system_trig_enabled=false, then alter system set “_system_trig_enabled”=TRUE scope=both; ^– 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;
以上是我对于这个问题的解答,希望能够帮到大家。
全部