IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PL/SQL Oracle Discussion :

Pourquoi le sheduler n'exécute pas mon job DBMS_SCHEDULER.create_job


Sujet :

PL/SQL Oracle

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2004
    Messages : 422
    Points : 201
    Points
    201
    Par défaut Pourquoi le sheduler n'exécute pas mon job DBMS_SCHEDULER.create_job
    Bonjour,

    Mon job n'est pas exécuter par le Scheduler.
    Il est bien créer mais ne s'exécute pas après intervalle de 1 minutes -> start_date => SYSTIMESTAMP+numtodsinterval(ln_delay,'MINUTE').
    Le code de création est le suivant:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
          procedure p_schedule is
            pragma autonomous_transaction;
            lv_job_name varchar2(50);
            ln_delay number := 1; -- default value 1 minutes
            ln_lrt_id number := null;
          begin
     
            DBMS_SCHEDULER.create_job (
              job_name        => lv_job_name,
              job_type        => 'PLSQL_BLOCK',
              job_action      => 'BEGIN p_calculate_intersections; commit; END; ',
              number_of_arguments => 0,
              start_date      => SYSTIMESTAMP+numtodsinterval(ln_delay,'MINUTE'),
              enabled         => TRUE,
              comments        => 'Job defined to rebuild the Geom objects impacted by the modification of the LRS'
              );
            commit;      
          exception
            when others then
               p_addlog('P_SCHEDULE','EXCEPTION systimestamp='||SYSTIMESTAMP,ln_lrt_id );
               p_addlog('P_SCHEDULE','EXCEPTION sqlerrm='||SQLERRM,ln_lrt_id );
               raise;
          end p_schedule;
    Pourquoi mon job n'est-il pas exécuté ?

    merci

    Patrick

  2. #2
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Creating Jobs
    Jobs are created disabled by default and they need to be enabled in order to be executed.

  3. #3
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 074
    Points
    8 074
    Par défaut
    Citation Envoyé par mnitu Voir le message
    ...
    Oui mais non...
    La doc est assez stupide à ce sujet.
    Il aurait suffi qu'ils précisent que la procédure CREATE_JOB possède un paramètre optionnel ENABLED, qui est à FALSE par défaut.
    Là, notre ami a fait ce qu'il faut à ce sujet.
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  4. #4
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 074
    Points
    8 074
    Par défaut
    Citation Envoyé par patmaba Voir le message
    Pourquoi mon job n'est-il pas exécuté ?
    Quelle est votre version d'Oracle ??

    En V11 par exemple, JOB_QUEUE_PROCESSES doit avoir une valeur supérieure à 0 (elle est à 1000 par défaut, mais j'ai rencontré des cas avec 0), alors qu'en V10 ce paramètre n'intervient pas.

    En dehors de ça, tel qu'il est défini, votre job devrait bien s'exécuter, mais une seule fois car vous n'avez pas de paramètre REPEAT_INTERVAL pour une exécution récurrente.
    Plus vicieux encore, comme par défaut AUTO_DROP est à TRUE, votre job disparaît immédiatement après l'exécution !
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  5. #5
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    ...
    Là, notre ami a fait ce qu'il faut à ce sujet


    Citation Envoyé par Pomalaix Voir le message
    ...
    Plus vicieux encore, comme par défaut AUTO_DROP est à TRUE, votre job disparaît immédiatement après l'exécution !
    Mais, il devrait laisser une trace dans dba_scheduler_job_log.

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2004
    Messages : 422
    Points : 201
    Points
    201
    Par défaut
    c'était bien la valeur du job_queue_processes

    c'est résolu.

    merci à tous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Exécuter un cron job quand mon pc n'est pas allumé
    Par Ismatus1 dans le forum Linux
    Réponses: 7
    Dernier message: 11/11/2011, 18h04
  2. Pourquoi mon action dans une modal ne s'exécute pas ?
    Par nicolas.carron dans le forum Seam
    Réponses: 3
    Dernier message: 10/01/2011, 22h23
  3. Cron n'exécute pas mon script
    Par ShaGaTsoin dans le forum Administration système
    Réponses: 7
    Dernier message: 26/11/2008, 15h24
  4. [Talend] Erreur d'exécution de mon job
    Par gaoussou dans le forum Exécution et industrialisation
    Réponses: 1
    Dernier message: 28/11/2007, 14h30
  5. Pourquoi mon navigateur n'exécute pas les fichiers ASP
    Par Claude_Azoulai dans le forum ASP
    Réponses: 5
    Dernier message: 21/10/2007, 17h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo