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 :

Procedure stockée qui devient invalide


Sujet :

Oracle

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2009
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 56
    Points : 22
    Points
    22
    Par défaut Procedure stockée qui devient invalide
    Bonjour à tous,

    Je sais que toute modification sur un objet figurant dans une procédure stockée rend cette dernière automatique invalide.
    Ma question est de comprendre à quel moment le process oracle qui invalide ma procédure se déclenche suite à ma modification (exemple rajouter une colonne à une table faisant partie de la procedure) ??

    Merci d'avance pour vos explications.

  2. #2
    En attente de confirmation mail
    Inscrit en
    Mars 2010
    Messages
    205
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 205
    Points : 230
    Points
    230
    Par défaut
    Hors la compilation, c'est lors d'une exécution que les dépendances des packages, procédures et fonctions sont vérifiées. Si un objet référencé a changé ou n'est plus disponible, le code correspondant est marqué invalide.

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2009
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 56
    Points : 22
    Points
    22
    Par défaut
    Merci pour ta réponse.

    N' Y a t-il pas un paramètre à configurer permettant la compilation automatique des objets impactés (exemple Procédure)?
    Car comme j'ai plusieurs bases, j'ai constaté une différence entre elles, c a d, que dans l'une de mes bases la procédure est restée valide.

    Merci.

  4. #4
    En attente de confirmation mail
    Inscrit en
    Mars 2010
    Messages
    205
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 205
    Points : 230
    Points
    230
    Par défaut
    Il existe un script appelé utlrp.sql (situé dans $ORACLE_HOME/rdbms/admin) fourni par Oracle qui recompile les packages invalides présents dans une base. Il suffit de l'exécuter après installation ou modification d'objets dans l'application.
    Mais il n'y a pas de recompilation automatique.

    Ceci dit, si un package est appelé alors qu'il est marqué invalide, Oracle va automatiquement lancer une compilation de celui-ci, qui sera réussie si les modifications apportées aux objets sous-jacents sont valides, bien sûr. Donc dans la plupart des cas, le fait qu'une procédure ou package soit invalide n'entraîne aucune conséquence visible pour l'utilisateur.

    Tu peux néanmoins vérifier si tu le souhaites la validité du code stocké en base en lançant la requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    select * from dba_objects where object_type in ('PACKAGE','PACKAGE BODY','FUNCTION','PROCEDURE','TRIGGER')
    and status='INVALID'

  5. #5
    Membre à l'essai
    Inscrit en
    Janvier 2009
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 56
    Points : 22
    Points
    22
    Par défaut
    Génial, merci beaucoup pour ces précieuses précisions.
    A tt

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

Discussions similaires

  1. procedure stockée qui lance d'autre
    Par Soulkeum dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 08/03/2008, 18h44
  2. Procedure stockée qui s'execute ?
    Par HULK dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 15/09/2006, 09h16
  3. Procedures stockées qui appellent un autre ?
    Par Tchinkatchuk dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 09/05/2005, 09h30
  4. Procedure stockée qui ne s'exe pas complètement
    Par Oluha dans le forum Bases de données
    Réponses: 2
    Dernier message: 12/01/2005, 14h38
  5. Procedure stockée qui retourne un curseur
    Par kinaï dans le forum Débuter
    Réponses: 1
    Dernier message: 10/08/2004, 14h42

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