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

Administration Oracle Discussion :

Liste des objets à recompiler suite à import


Sujet :

Administration Oracle

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    461
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 461
    Par défaut Liste des objets à recompiler suite à import
    Bonjour,
    Existe t'il une requête pouvant fournir la liste des objets qui doivent être recompiler après un import car j'ai constaté que d'autres objets que ceux en erreur dans la log étaient en erreur après l'import.
    Merci par avance.

  2. #2
    Invité
    Invité(e)
    Par défaut
    J'utilise ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      select object_name NOM_OBJ , object_type TYP_OBJ
      from user_objects 
      where status = 'INVALID' ;

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    sinon, lance tout simplement utlrp.sql dans ORACLE_HOME\rdbms\admin

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par orafrance Voir le message
    sinon, lance tout simplement utlrp.sql dans ORACLE_HOME\rdbms\admin
    J'avais lu une documentation mettant en garde sur l'utilisation de ce script. (en gros, il était demandé de faire une sauvegarde avant de le lancer et que ça pouvait causer des problèmes dans SYS) C'est assez ancien alors je pense que je devais être en 8i. Est-ce que c'est toujours le cas ou pas, est-ce que mon cerveau malade a déformé une information ? Ou une légende urbaine oracléenne qui traine ?

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    461
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 461
    Par défaut
    Merci pour vos réponses.
    Je vais utiliser cette requête qui répond à ma demande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT object_name NOM_OBJ , object_type TYP_OBJ
      FROM dba_objects 
      WHERE STATUS = 'INVALID' ;
    Pouvez vous m'indiquer ce que fait :Merci

  6. #6
    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
    Le script utlrp va recompiler tous les objets invalides dans tous les schémas de la base (avec une connexion SYSDBA). Je ne sais pas s'il y a des problèmes particuliers avec Oracle 8i. En tout cas pour toute version Oracle, il faut quand même savoir que s'il y a des transactions en cours qui utilisent des packages PL/SQL avec des variables de session, et qui référencent d'autres packages qui ont été recompilés, alors des transactions auront les erreurs suivantes:

    ORA-04061: existing state of string has been invalidated
    Cause: Attempt to resume the execution of a stored procedure using the existing state which has become invalid or inconsistent with the stored procedure because the procedure has been altered or dropped.
    Action: Try again; this error should have caused the existing state of all packages to be re-initialized.

    ORA-04065: not executed, altered or dropped string
    Cause: Attempt to execute a stored procedure that has been altered or dropped thus making it not callable from the calling procedure.
    Action: Recompile its dependents.
    C'est uniquement un problème si l'application ne sait pas récupérer correctement des erreurs inattendues, ce qui arrive encore

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par tibal Voir le message
    Pouvez vous m'indiquer ce que fait : utlrp.sql
    Tout est dit dans le fichier :
    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
    Rem    NAME
    Rem      utlrp.sql - Recompile invalid objects
    Rem
    Rem    DESCRIPTION
    Rem     This script recompiles invalid objects in the database.
    Rem
    Rem     When run as one of the last steps during upgrade or downgrade,
    Rem     this script will validate all remaining invalid objects. It will
    Rem     also run a component validation procedure for each component in
    Rem     the database. See the README notes for your current release and
    Rem     the Oracle Database Upgrade book for more information about
    Rem     using utlrp.sql   
    Rem
    Rem     Although invalid objects are automatically re-validated when used,
    Rem     it is useful to run this script after an upgrade or downgrade and
    Rem     after applying a patch. This minimizes latencies caused by
    Rem     on-demand recompilation. Oracle strongly recommends running this
    Rem     script after upgrades, downgrades and patches.
    Rem
    Rem   NOTES
    Rem      * This script must be run using SQL*PLUS.
    Rem      * You must be connected AS SYSDBA to run this script.
    Rem      * There should be no other DDL on the database while running the
    Rem        script.  Not following this recommendation may lead to deadlocks.
    Merci pifor pour les infos, désormais j'utiliserais le script oracle sans soucis !

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Citation Envoyé par Jerome_Mtl Voir le message
    J'avais lu une documentation mettant en garde sur l'utilisation de ce script. (en gros, il était demandé de faire une sauvegarde avant de le lancer et que ça pouvait causer des problèmes dans SYS) C'est assez ancien alors je pense que je devais être en 8i. Est-ce que c'est toujours le cas ou pas, est-ce que mon cerveau malade a déformé une information ? Ou une légende urbaine oracléenne qui traine ?
    Bah faut juste éviter de le lancer quand la base est trop chargé mais comme la compile classique... d'ailleurs il ne fait rien de plus que compiler les objets dans l'ordre des dépendances

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

Discussions similaires

  1. [VB.NET] [VS 2003] Liste des objets instanciés
    Par Mouse dans le forum VB.NET
    Réponses: 4
    Dernier message: 23/10/2006, 20h15
  2. Réponses: 1
    Dernier message: 13/09/2006, 12h50
  3. Réponses: 20
    Dernier message: 18/06/2006, 12h44
  4. OpenDialog : augmenter la liste des objets affichés
    Par cybersam dans le forum C++Builder
    Réponses: 8
    Dernier message: 16/05/2006, 18h13

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