Não consigo agendar uma tarefa para ser executada.
Fiz um procedimento que grava arquivos CSV e funciona quando o executo.
Então tentei fazer um job para agendar:
BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name => 'AUTOMATE_CSV_EXPORT',
job_type => 'STORED_PROCEDURE',
job_action => 'EXPORT_ALL_LYS_FOR_TABLEAU',
number_of_arguments => 0,
start_date => '20-AUG-20 2.05.00PM',
repeat_interval => 'FREQ=WEEKLY; BYDAY=FRI; BYHOUR=23;',
end_date => NULL,
enabled => FALSE,
auto_drop => FALSE,
comments => 'hello i am a comment');
DBMS_SCHEDULER.SET_ATTRIBUTE(
name => 'AUTOMATE_CSV_EXPORT',
attribute => 'logging_level',
value => DBMS_SCHEDULER.LOGGING_RUNS);
DBMS_SCHEDULER.enable(
name => 'AUTOMATE_CSV_EXPORT');
END;
/
Ele não foi executado no horário agendado, mas funcionou quando eu o executei assim:
Tentei editar a hora de início no assistente e me dá este erro:
Programei-o para ser executado a cada 2 minutos a partir de um tempo atrás, e ainda não foi executado. Está definitivamente habilitado.
Solução de problemas
TLDR: agendador funciona!!! A única coisa que não funciona é eu colocar meu e-mail para receber notificações.
Mudei o trabalho para ser executado a cada 2 minutos. ^^^ então está funcionando? Mas não vejo nenhum CSV na pasta de destino. Alterei a data de início para NULL como o código abaixo e funcionou! Eu tenho CSV!
- Testando um trabalho agendado: test:
create or replace procedure test_print
is
begin
dbms_output.put_line('Current date and time is : ' ||
to_char(sysdate,'DD-MON-YYYY HH:MI:SS AM'));
end;
set serveroutput on;
BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name => 'JOB_TEST',
job_type => 'STORED_PROCEDURE',
job_action => 'TEST_PRINT',
number_of_arguments => 0,
start_date => NULL,
repeat_interval => 'FREQ=MINUTELY;INTERVAL=2;',
end_date => NULL,
enabled => FALSE,
auto_drop => FALSE,
comments => 'Testing job runs');
DBMS_SCHEDULER.enable(name => 'JOB_TEST');
END;
/
select job_name,output,status,owner
from user_scheduler_job_run_details where job_name='JOB_TEST';
O que ainda não funciona são as notificações por e-mail. Quando essa é a única coisa que edito, recebo este erro:
Muito provavelmente você está criando objetos em esquemas diferentes, verifique os trabalhos criados e os detalhes do trabalho no esquema atual com essas visualizações
user_scheduler_jobs
euser_scheduler_job_run_details
Procedimento simples programado para ser executado a cada 2 minutos
Editar: - Apenas observar que você conseguiu executar o trabalho manualmente, mas não executar a partir do agendador, implica que o trabalho e o procedimento não estão no mesmo esquema.