Como procuro falhas nos Oracle jobs?

Escrito por dwayne hoover | Traduzido por cezar rosa
  • Compartilhar
  • Tweetar
  • Compartilhar
  • Pin
  • E-mail
Como procuro falhas nos Oracle jobs?
Descubra como achar os erros nos jobs Oracle (deep in database image by .shock from Fotolia.com)

O banco de dados Oracle oferece um modelo robusto, potente e customizável para programar jobs (tarefas). Em um nível básico, um Oracle job é um bloco de código PL/SQL, a linguagem de programação da Oracle, que é programado para executar em um momento específico. A programação de jobs pode ser complicada, e o código executado pode ser desde uma linha para inserção de dados ou 10.000 linhas de código para um procedimento PL/SQL. No caso deste exemplo, as especificidades do código PL/SQL sendo executado são irrelevantes, já que ele abordará as causas determinantes de Oracle jobs com falhas.

Nível de dificuldade:
Moderadamente fácil

Outras pessoas estão lendo

O que você precisa?

  • Banco de dados Oracle 11g
  • Permissões SYSDBA

Lista completaMinimizar

Instruções

  1. 1

    Utilize o pacote DBMS_SCHEDULER para criar o job. Assumindo que o efeito desejado é executar o procedimento apps.faz_algo todo dia às 2 da tarde, irá ser algo assim:

    BEGIN DBMS_SCHEDULER.CREATE_JOB ( job_name => 'example_job', job_type => 'STORED_PROCEDURE', job_action => 'apps.faz_algo', start_date => '20-DEC-10 02.00.00 PM', repeat_interval => 'FREQ=DAILY, comments => 'comentários do job aqui'); END; /

  2. 2

    Procure no log do job por mensagens de sucesso ou erro. Por padrão, o Oracle registra os resultados dos jobs no dicionário de dados DBA_SCHEDULER_JOB_LOG. Alternativamente, se o job é específico do usuário atual, pode ser feita uma consulta em USER_SCHEDULER_JOB_LOG. Uma consulta de exemplo para esta visão é:

    SELECT timestamp, job_name, job_class, operation, status FROM USER_SCHEDULER_JOB_LOG onde job_name='example_job';

  3. 3

    Veja informações detalhadas sobre o job. Para jobs listados com operações definidas como RUN, RETRY_RUN ou RECOVERY_RUN na visão DBA/USER_SCHEDULED_JOB_LOG, o Oracle providencia detalhes adicionais em USER_SCHEDULED_JOB_RUN_DETAILS ou DBA_SCHEDULED_JOB_RUN_DETAILS. Por exemplo:

    SELECT TIMESTAMP, job_name, status,ADDITIONAL_INFO FROM user_scheduler_job_run_details ONDE job_name = 'example_job'

Dicas & Advertências

  • Configurar o nível de registros de um job para DBMS_SCHEDULER.LOGGING_FULL, cada vez que um job é executado ou em cada operação realizada num job, gera uma entrada no registro. Isso pode ser útil se muitas pessoas tem acesso para fazer alterações no job a fim de rastrear quando mudanças foram feitas nele. Ações como criação, habilitação/desabilitação, exclusão e atualização são rastreadas com esse nível de registro.
  • Para ativá-lo:
  • BEGIN
  • DBMS_SCHEDULER.SET_ATTRIBUTE (
  • 'example_job', 'logging_level', DBMS_SCHEDULER.LOGGING_FULL);
  • END;
  • /

Não perca

Filtro:
  • Geral
  • Artigos
  • Slides
  • Vídeos
Mostrar:
  • Mais relevantes
  • Mais lidos
  • Mais recentes

Nenhum artigo disponível

Nenhum slide disponível

Nenhum vídeo disponível