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

SQL Oracle Discussion :

Probleme avec DBMS_JOB


Sujet :

SQL Oracle

  1. #1
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 49
    Par défaut Probleme avec DBMS_JOB
    Bonjour,
    J'essaie de mettre en place des jobs sous Oracle.
    Oracle V 8.1.7
    Voila le job que je veux mettre en place.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    DECLARE
      X NUMBER;
    BEGIN
      SYS.DBMS_JOB.SUBMIT
        ( job       => X 
         ,what      => 'SYS.DBMS_STATS.DELETE_SCHEMA_STATS (OwnName => ''TEST'');'
         ,next_date => to_date('09/01/2007 06:00:00','dd/mm/yyyy hh24:mi:ss')
         ,interval  => 'TRUNC(SYSDATE+1)'
         ,no_parse  => TRUE
        );
      SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_char(x));
    END;
    /
    Lorsque je fait en select du job j'ai bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    SQL> select job, schema_user,last_date, broken, interval from user_jobs;
     
           JOB SCHEMA_USER                    LAST_DAT B
    ---------- ------------------------------ -------- -
    INTERVAL
    --------------------------------------------------------------------------------
             8 SYSTEM                                  N
    TRUNC(SYSDATE+1)
    Lorsque je fait un run du Job.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    SQL> exec dbms_job.run(8);
    BEGIN dbms_job.run(8); END;
     
    *
    ERREUR à la ligne 1 :
    ORA-12011: échec d'exécution du Job 1
    ORA-06512: à "SYS.DBMS_IJOB", ligne 405
    ORA-06512: à "SYS.DBMS_JOB", ligne 267
    ORA-06512: à ligne 1
    Alors que j'arrive bien a envoye le CODE.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SQL> exec  SYS.DBMS_STATS.DELETE_SCHEMA_STATS (OwnName => 'TEST');
     
    Procédure PL/SQL terminée avec succès.
    Pourquoi ?

  2. #2
    Membre émérite Avatar de Yorglaa
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    845
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 845
    Par défaut
    Salut,
    dans la définition de ton job, il faut un commit après le DBMS_Job.SUBMIT...

  3. #3
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 49
    Par défaut
    Comme cela
    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
    DECLARE
      X NUMBER;
    BEGIN
      SYS.DBMS_JOB.SUBMIT
        ( job       => X 
         ,what      => 'SYS.DBMS_STATS.DELETE_SCHEMA_STATS (OwnName => ''TEST'');'
         ,next_date => to_date('09/01/2007 06:00:00','dd/mm/yyyy hh24:mi:ss')
         ,interval  => 'TRUNC(SYSDATE+1)'
         ,no_parse  => TRUE
        );
      COMMIT;  
    SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_char(x));
    END;
    /
    Cela ne change Rien

  4. #4
    Membre émérite Avatar de Yorglaa
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    845
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 845
    Par défaut
    tiré de la doc :
    ORA-12011 execution of string jobs failed

    Cause: An error was caught in dbms_ijob.run from one or more jobs which were due to be run.

    Action: Look at the alert log for details on which jobs failed and why
    est-ce que tu as quelque chose dans ton fichier alert.log ?

  5. #5
    Nouveau membre du Club
    Inscrit en
    Juillet 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 6
    Par défaut
    Quel est la valeur de ton paramêtre job_queue_processes ?

    show parameter job_queue_processes ;

    Sinon il y a une doc ici
    http://oracle.developpez.com/guide/d...ages/dbms_job/

  6. #6
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 49
    Par défaut
    Pour le job_processes je suis a 10

  7. #7
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 49
    Par défaut
    Merci pour la piste.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    ORA-12012: erreur d'exécution automatique du travail 25
    ORA-20000: Insufficient privileges to analyze an object within the database
    ORA-06512: Ã* "SYS.DBMS_STATS", ligne 6712
    ORA-06512: Ã* "SYS.DBMS_STATS", ligne 6735
    ORA-06512: Ã* "SYS.DBMS_STATS", ligne 6886
    ORA-06512: Ã* ligne 1
    Mais je ne comprend pas pourquoi quand meme.
    J'ai cree le job en system.

  8. #8
    Membre émérite Avatar de Yorglaa
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    845
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 845
    Par défaut
    Est-ce que SYSTEM possède le Role DBA ?
    ou tout au moins le privilège système "ANALYZE ANY" ?

  9. #9
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 49
    Par défaut
    Oui.
    En plus lorsque je lance le dbms_stat, je suis en system et cela fonctionne.

    Pour infos ca le fait aussi sur une base 10.2. J'ai la meme erreur.

    Merci

  10. #10
    Membre Expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Par défaut
    J'ai eu un problème similaire dont la raison est que les rôles ne sont pas activés en PL/SQL par défaut. La solution pour moi a été de créer une procédure du type:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     create or replace procedure run_stats
     authid CURRENT_USER
      as
       begin
        execute immediate 'set role ALL';
        <appel à DBMS_STATS.XXX>  
      end;
     /
    et d'appeler cette procédure dans DBMS_JOB.SUBMIT.

  11. #11
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 49
    Par défaut
    Bon alors,
    le grant DBA ne suffit pas il faut aussi les privileges analyze any
    Merci a tous.

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

Discussions similaires

  1. Probleme avec la copie des surfaces
    Par Black_Daimond dans le forum DirectX
    Réponses: 3
    Dernier message: 09/01/2003, 10h33
  2. Problèmes avec le filtrage des ip
    Par berry dans le forum Réseau
    Réponses: 9
    Dernier message: 30/12/2002, 07h51
  3. probleme avec la touche F10
    Par b.grellee dans le forum Langage
    Réponses: 2
    Dernier message: 15/09/2002, 22h04
  4. Probleme avec fseek
    Par Bjorn dans le forum C
    Réponses: 5
    Dernier message: 04/08/2002, 07h17
  5. [Kylix] probleme avec un imagelist
    Par NicoLinux dans le forum EDI
    Réponses: 4
    Dernier message: 08/06/2002, 23h06

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