为何Oracle 中的Job不自动执行了
1、现象、问题描述
有时发现在Oracle中以前运行的JOB不能自动执行了。一时没有办法找到原因。
2、关键过程、根本原因分析
原因一
job_queue_processes是一个数据库的参数,它控制执行job的进程个数,缺省的这个值设置为10,如果这个值设置为0 则job没有办法定时执行。
SQL> show parameter job
NAME TYPE VALUE
--------------------------------------------- ----------- ------------------------------
job_queue_processes integer 10
SQL>
设置这个值为10之后可以解决JOB不自动执行的问题,如下:
SQL> alter system set job_queue_processes=10;
System altered.
原因二
Oracle 9.2.0.5版本在sun solaris 上有bug,(bug号 3427424) 这个bug 触发条件是当机器运行时间超过497天之后 就不在自动执行定时任务。
用操作系统的命令uptime 可以知道机器运行的时间。