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

Oracle Discussion :

Suppression d'un job soumis dans un trigger


Sujet :

Oracle

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 182
    Points : 66
    Points
    66
    Par défaut Suppression d'un job soumis dans un trigger
    Bonjour,


    Je souhaite supprimer un job soumis à chaque arret de base
    J'ai créé un trigger sur l'evenement BEFORE SHUTDOWN
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CREATE OR REPLACE TRIGGER "ARRET_BASE" BEFORE SHUTDOWN
     ON DATABASE
    BEGIN
      select job into v_job  from all_jobs;
      dbms_job.remove(v_job);
    END;
    Le job n'est jamais supprimé,j'ai verifie le fichier trace dans UDUMP
    j'ai ces messages
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ORA-04088: erreur lors d'exécution du déclencheur 'SYSDBA.ARRET_BASE'
    ORA-01403: Aucune donnée trouvée
    ORA-06512: à "SYSDBA.ARRET_DEMARRAGE_INTERAFCE", ligne 21
    ORA-06512: à ligne 3
    Merci pour votre aide

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    Bonjour ,

    Est ce que le propiétaire du trigger et celui du job sont les mêmes ?

  3. #3
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    je note que c'est assez dangereux de ne pas mettre de critère en plus. Si un jour vous êtes absent et qu'un collégue crée un autre job vous aurez un problème de TOO_MANY_ROWS

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 182
    Points : 66
    Points
    66
    Par défaut
    Oui le propiétaire est le même

  5. #5
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    Extrait de Dbms_job.remove :

    Chaque user doit supprimer ses propres JOBS, même un user avec les privilèges DBA ne peut le faire.
    Jaouad

  6. #6
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    remplacer all_job par user_job

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 182
    Points : 66
    Points
    66
    Par défaut
    J'ai également fais cet essai

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select job into v_job from user_jobs where trim(what) = NomDuJOB
    mais j'ai le meme problème

  8. #8
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    N'oubliez pas que dans le what il y a un point-virgule

  9. #9
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    prenons les problèmes les uns après les autres.

    Si tu fais le select sous SQL*Plus sans arrêter qu'est ce que ça donne ? Et si tu supprimes le job retourné par le SQL*Plus ?

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 182
    Points : 66
    Points
    66
    Par défaut
    Si je lance le SELECT sous SQL+ --> ok
    Suppression sous SQL+ --> ok

  11. #11
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    il y a forcément un problème de owner à mon avis

    SYS (qui arrête la base) ne doit pas être le owner du job

Discussions similaires

  1. Réponses: 6
    Dernier message: 04/03/2004, 09h35
  2. RAZ GENERATOR dans un trigger
    Par kase74 dans le forum SQL
    Réponses: 2
    Dernier message: 08/09/2003, 18h43
  3. select dans un trigger sous Postgresql
    Par kastor_grog dans le forum Requêtes
    Réponses: 1
    Dernier message: 03/09/2003, 17h00
  4. [PostgreSQL] Refus de STATEMENT dans un trigger
    Par alex2205 dans le forum Requêtes
    Réponses: 3
    Dernier message: 10/03/2003, 12h51
  5. Réponses: 3
    Dernier message: 12/06/2002, 21h15

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