Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde,
Estou fazendo alguns testes e criei uma Job chamada "LOAD_ORIGEM" no meu banco de dados Oracle para executar o Prompt de Comando.
O que eu preciso é que uma Procedure chame esse Job, para que posteriormente, eu possa criar uma rotina diária. O nome da minha procedure é LOA_ORIGEM, e nela contém o seguinte código:
create or replace
PROCEDURE LOA_ORIGEM AS
LOAD_ORIGEM BINARY_INTEGER;
BEGIN
SYS.DBMS_JOB.SUBMIT
(
job => LOAD_ORIGEM
,what => 'DBMS_OUTPUT.PUT_LINE(''Job executado'');'
,next_date => to_date('06/03/2013 07:00:00','dd/mm/yyyy hh24:mi:ss')
,interval => 'trunc(sysdate)+1+3/24+50/1440'
,no_parse => TRUE
);
SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || TO_CHAR(LOAD_ORIGEM));
END LOA_ORIGEM;Conectando ao banco de dados mms.
Job Number is: 141
Processo encerrado.
Desconectando do banco de dados mms.
Alguém saberia me informar o que tem de errado no meu código ?
Obrigado.
Acabei recriando o JOB da seguinte forma:
BEGIN
dbms_scheduler.create_job(
job_name => 'LOAD_ORIGEM',
job_type => 'EXECUTABLE',
job_action => 'D:\oracle\product\10.2.0\SQLLOAD\ORIGEM\GoLoad.bat',
start_date => systimestamp + interval '10' second,
repeat_interval => 'FREQ=DAILY',
enabled => TRUE,
auto_drop => FALSE,
comments => 'JOB LOAD DE ORIGEM');
END;Depois executei o código para execucao, ver o que retornava:
exec DBMS_SCHEDULER.run_job (job_name => 'LOAD_ORIGEM');
Ele me retornou o seguinte erro:
Erro ao iniciar na linha 1 no comando
exec DBMS_SCHEDULER.run_job (job_name => 'LOAD_ORIGEM')
Relatório de erro:
ORA-27370: o escravo do job falhou ao iniciar um trabalho do tipo EXECUTABLE
ORA-27300: operação dependente de sistema no SO:accessing execution agent falhou com o status: 2
ORA-27301: mensagem de falha de SO: The system cannot find the file specified.
ORA-27302: a falha ocorreu às: sjsec 6a
ORA-27303: informações adicionais: The system cannot find the file specified.
ORA-06512: em "SYS.DBMS_ISCHED", line 150
ORA-06512: em "SYS.DBMS_SCHEDULER", line 441
ORA-06512: em line 1
27370. 00000 - "job slave failed to launch a job of type EXECUTABLE"
*Cause: The scheduler ran into an error when the job slave tried to start
a job of type EXECUTABLE. The rest of the error stack will provide
more detailed information on what the exact problem was.
*Action: Correct the problem specified in the error stack and reschedule
the job.
Sabe me dizer o que pode estar ocorrendo ?
Resolvido !
Meu serviço OracleJobScheduler não estava startado no servidor.
Pra quem estiver com esse erro, verifique se o servico esta startado:
Foi criado um JOB de ID 141, nada errado que vai rodar 06/03/2013 às 07:00:00;
Mas o que vai rodar não faz sentido (DBMS_OUTPUT.PUT_LINE).