Les partenaires publicitaires:

Comment puis-je trouver des erreurs en cas d'échec d'emploi oracle?

La base de données Oracle offre une méthode très robuste, puissant et personnalisable pour la planification de tâches. Au niveau de base, un travail Oracle est un bloc de PL / SQL, le langage de programmation d'Oracle, code qui est programmé pour fonctionner à un moment donné. Horaires de travail peut être très complexe et la course de code pour un travail Oracle peuvent être aussi simple que d'une instruction d'insertion d'une ligne ou d'une ligne de 10 000 PL / SQL. Pour les besoins de cet exemple, les spécificités du code PL / SQL en cours d'exécution est sans importance car il abordera déterminer la cause des emplois Oracle échoué.

Choses que vous devez

  • Oracle 11g Databaase
  • Autorisations SYSDBA

Instructions

  1. Utilisez le paquet DBMS_SCHEDULER construit pour créer la tâche. En supposant que l'effet recherché est d'exécuter la procédure apps.do_something tous les jours à 14h00, il devrait ressembler à ceci:

    COMMENCER

    DBMS_SCHEDULER.CREATE_JOB (

    job_name = gt; 'example_job',

    JOB_TYPE = gt; 'PROCÉDURE STOCKÉE',



    job_action = gt; 'apps.do_something',

    start_date = gt; '20 -DEC-10 02.00.00 PM »,

    repeat_interval = gt; "FREQ = QUOTIDIEN,




    comments = gt; «emploi commentaires ici»);

    FIN;

    /

  2. Voir le journal de l'emploi pour les messages de réussite ou d'erreur. Par défaut, Oracle enregistre l'état du travail dans le DBA_SCHEDULER_JOB_LOG du dictionnaire de données. Alternativement, si le travail est spécifique à l'utilisateur actuel, USER_SCHEDULER_JOB_LOG peut être interrogé. Un exemple de requête de ce point de vue est le suivant:

    Horodatage SELECT, job_name, job_class, l'exploitation, du statut de USER_SCHEDULER_JOB_LOG où job_name = 'example_job';

  3. Voir les informations détaillées sur le travail. Pour les travaux énumérés à l'opération définie comme RUN, RETRY_RUN ou RECOVERY_RUN dans la vue DBA / USER_SCHEDULED_JOB_LOG, Oracle fournit des détails supplémentaires dans USER_SCHEDULED_JOB_RUN_DETAILS ou DBA_SCHEDULED_JOB_RUN_DETAILS. Par example:

    TIMESTAMP SELECT, job_name, le statut, additional_info

    DE user_scheduler_job_run_details OÙ job_name = 'example_job'

» » » » Comment puis-je trouver des erreurs en cas d'échec d'emploi oracle?