我们的 Oracle Scheduler 无法在某些环境中工作,但在某些环境中可以工作。在它工作的环境中,以下查询返回 1 行
select program from v$session where osuser = 'oracle' and program like '%(CJQ0)%';
[email protected] (CJQ0)
在它不工作的环境中,不会返回任何行。
这是我执行的测试,以查看调度程序是否正在运行。它应该立即启动该作业。
CREATE TABLE MySchema.TEMP_DBMS_JOB (
A NUMBER(*, 0))
DECLARE
l_jobid int;
BEGIN
dbms_job.submit(job => l_jobid, what => 'begin insert into MySchema.temp_dbms_job (a) values (13); commit; end;');
dbms_output.put_line(l_jobid);
COMMIT;
END;
DBA 可以做什么来让调度程序运行?“CJQ0”会话查询是否可以帮助您识别问题的潜在根源?DBA 认为调度程序的配置没有问题。
我们还尝试使用 DBMS_SCHEDULER.create_job 来提交作业,而不是已弃用的 dbms_job.submit,并且在相同的环境中获得了完全相同的结果。
我计划在这个问题达到所需的足够年龄后立即提供 3000 点赏金。如果在此之前有答案导致解决方案,我仍然会提供要点。