? Banco de dados Oracle oferece um método muito robusto , poderoso e personalizável para agendar tarefas . Em um nível básico , um trabalho de Oracle é um bloco de PL /SQL, linguagem de programação da Oracle , o código que está programado para ser executado em um determinado momento . Horários de trabalho podem ser muito complicado eo código de execução de um trabalho de Oracle pode ser tão básico como uma instrução de inserção de uma linha ou de um procedimento PL /SQL 10.000 linha. Para o propósito deste exemplo , as especificidades do código PL /SQL que está sendo executado é irrelevante , uma vez que irá abordar determinar a causa do emprego do Oracle falhou. Coisas que você precisa
Oracle 11g Databaase
SYSDBA permissões
Mostrar Mais instruções
1
usar o construída em pacote DBMS_SCHEDULER para criar o trabalho . Supondo-se que o efeito desejado é executar o procedimento apps.do_something todos os dias às 02:00 ele ficaria assim :
BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name = > ' example_job ' ,
job_type => ' STORED_PROCEDURE ' ,
job_action => ' apps.do_something ' ,
data_inicial => '20 -DEC -10 02.00.00 PM ' ,
repeat_interval =>' FREQ = DIÁRIO,
comments = > ' comentários trabalho aqui ' ) ;
END; < br >
/
2
Exibir o log de trabalho para mensagens de êxito ou de erro. Por padrão , o Oracle registra o status do trabalho no dicionário de dados DBA_SCHEDULER_JOB_LOG vista. Alternativamente, se o trabalho é específico para o usuário atual, USER_SCHEDULER_JOB_LOG pode ser consultado. Um exemplo de busca desse ponto de vista é o seguinte:
Selecione timestamp , job_name , job_class , operação, estado DE USER_SCHEDULER_JOB_LOG onde job_name = ' example_job ';
3
Ver detalhado informações sobre o trabalho . Para trabalhos relacionados com a operação definida como RUN, RETRY_RUN ou RECOVERY_RUN na visão DBA /USER_SCHEDULED_JOB_LOG , a Oracle fornece detalhes adicionais em USER_SCHEDULED_JOB_RUN_DETAILS ou DBA_SCHEDULED_JOB_RUN_DETAILS . Por exemplo :
Selecione TIMESTAMP , job_name , status, additional_info
DE ONDE user_scheduler_job_run_details job_name = ' example_job ' em