Nosso Oracle Scheduler não funciona em vários de nossos ambientes, mas funciona em alguns. Nos ambientes onde está funcionando, a consulta a seguir retorna 1 linha
select program from v$session where osuser = 'oracle' and program like '%(CJQ0)%';
[email protected] (CJQ0)
Nos ambientes onde não está funcionando, nenhuma linha é retornada.
Este é o teste que realizei para ver se o Agendador estava rodando. Deve disparar instantaneamente o trabalho.
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;
O que o DBA pode fazer para colocar o Agendador em execução? A consulta da sessão "CJQ0" ajuda a identificar qual pode ser a origem subjacente do problema? O DBA não vê problemas com a configuração do agendador.
Também tentamos DBMS_SCHEDULER.create_job enviar os trabalhos em vez do obsoleto dbms_job.submit e obtivemos exatamente o mesmo resultado nos mesmos ambientes.
Pretendo oferecer uma recompensa de 3.000 pontos assim que esta questão atingir a idade suficiente exigida. Se uma resposta levar à solução anterior, ainda assim oferecerei os pontos.
Perguntas e respostas para solução de problemas:
DBA_SCHEDULER_JOBS
ouDBA_SCHEDULER_JOB_RUN_DETAILS
? (pendência)DBA_SCHEDULER.CREATE_JOB
, ocorre algum erro? (pendência)DBA_SCHEDULER_JOBS
, você pode colar algumas linhas de amostra? (O que pode ser difícil porque existem dezenas de colunas na tabela.) (todo)Criei uma resposta Wiki para esta pergunta, pois presumo que haverá muitas idas e vindas, e esta lista de verificação será mais fácil de ler do que um milhão de comentários. Tenho quase certeza de que vi literalmente uma lista de verificação como esta em support.oracle.com, mas não consigo mais encontrá-la.
O problema foi resolvido reiniciando o 'contêiner' do banco de dados.