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执行了下,终于可以了。

你可能感兴趣的:(oracle,存储,job不执行)