oracle job不执行的原因
oracle job不执行的原因
那天在测试环境下想执行一个包内的存储过程,所以建了一个job,但是该job等了半天都没执行。最后
找到的原因有点低级,但是过程中涉及了一些知识所以在此记录下。
1.一开始查看了下参数为job_queue_processes为5,环境下也没有其他job在跑;
2.随后想看下手动调job能不能成功,执行dbms_job.run(<job>)语句还是没能执行job;
3.在网上苦寻原因看到又说是CJQ0进程可能失效,因为在测试环境下我就试了下,步骤是这样的:
首先执行 ALTER SYSTEM SET JOB_QUEUE_PROCESSES = 0,
然后过个几分钟执行ALTER SYSTEM SET JOB_QUEUE_PROCESSES = 5;
这时Oracle会重启CJQ0,重启过程中看了下日志没有出现警告信息;
4.最后我直接test那个存储过程,居然也报错;那个包内是有多个存储过程的,但是其中一个过程是
有错的,开始我以为我只执行那一个过程跟其他没关系所以我没管;貌似就是这个原因,我把那个过
程注掉,重新建了job执行了下,终于可以了。