oracle的job不能运行问题的解决

  最近写了一个oracle的job,运行的时间间隔是1分钟。但是发现这个job并没有运行,最开始怀疑是时间间隔写错了,但是一检查发现不是时间间隔并没有写错;又怀疑是存储过程有问题,但是单独执行存储过程是没有问题的。后来上网查了一下发现可能是系统参数 job_queue_process 的问题。job_queue_process 表示oracle能够并发的job的数量,可以通过语句

  show parameter job_queue_process;

  来查看oracle中job_queue_process的值。当job_queue_process值为0时表示全部停止oracle的job。可以通过语句

  ALTER SYSTEM SET job_queue_processes = 10;

  来修改oracle中job_queue_process的值(这里改为10,job_queue_process的值该设为多少是另外的问题),不过这种修改是动态的,当oracle重新启动后job_queue_process的值将仍然从\%ORACLE_HOME%\admin\mydb\pfile\init.ora文件中读取。