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 :

Oracle 8i ou plus. Extraction source procédure


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé

    Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2004
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2004
    Messages : 130
    Par défaut Oracle 8i ou plus. Extraction source procédure
    Bonjour,

    Je souhaite extraire le source de procédures.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CREATE OR REPLACE  PROCEDURE "NSI"."P_ALIM_CRET"  (ficgen 
        VARCHAR2, fLog UTL_FILE.FILE_TYPE, G_Chemin VARCHAR2) AS
     g_n_val NUMBER;
     nIgnore INTEGER;
     nCursor INTEGER;
     nUpdate INTEGER;
     strSelectQuery VARCH...
    Dans quelle table système puis je trouver?

    De plus, où puis je trouver les valeur du champ 'status' de la table sys.obj$?
    1=valid, 3=invalide... quid des autres valeurs.


    merci d'avance

  2. #2
    Membre chevronné Avatar de Wurlitzer
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 469
    Par défaut
    Tu trouveras le source des procedures, fonction et package dans DBA_SOURCE et le statut de tes programmes dans DBA_OBJECTS. Je ne connais pas d'autre valeur pour le statut.

  3. #3
    Membre confirmé

    Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2004
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2004
    Messages : 130
    Par défaut source procedure....
    merci de ta réponse,

    Voila ce que j'ai fait:
    DETECTION DE TOUT LES PROCEDURES : tri sur owner/nom procedure

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     select   substr(c.name,1,8)  as "Owner",
                b.name    as "Procedure",
                DECODE(b.status,1,'Valid',2,'?',3,'Invalide','????????') as "Status"
                from sys.user$  c ,
                sys.obj$  b ,
                sys.procedure$  a
                where (a.obj# = b.obj#) and (b.owner# = c.user#)
    order by c.name,b.name;
    DETECTION DES PROCEDURES INVALIDES: tri sur owner/nom procedure

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     select   substr(c.name,1,8)                                 as "Owner",
                b.name                                                  as "Procedure",
                DECODE(b.status,3,'Invalide','????????') as "Status"
                from sys.user$  c ,
                sys.obj$           b ,
                sys.procedure$  a
                where (a.obj# = b.obj#) and (b.owner# = c.user#) and b.status !=1
                order by c.name,b.name;
    EDITION DANS UN SPOOL D’UNE PROCEDURE STOCKEE NOMMEE

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Set heading off
    Set page size 9999
    Set linesize 300
     
    Spool c:\jeremy.log 
     
    select text from dba_source 
             where type='PROCEDURE' and 
             name='<nom de ta procedure en majuscule>' 
             order by line ;

    Qu'en penses tu? est ca améliorable?

    Merci des info

    Labienus


    spool off

  4. #4
    Membre chevronné Avatar de Wurlitzer
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 469
    Par défaut
    Évites de taper dans les tables internes à Oracle quand tu peux. Utilises plutôt les vues qu'Oracle te propose. En l'occurrence, tu peux à voir le même résultat que tes 2 premières requêtes avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT * FROM DBA_OBJECTS 
    WHERE OBJECT_TYPE= 'PROCEDURE'
    ORDER BY OWNER , OBJECT_NAME
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT * FROM DBA_OBJECTS 
    WHERE OBJECT_TYPE= 'PROCEDURE'
    AND STATUS ='INVALID'
    ORDER BY OWNER , OBJECT_NAME
    PS Tu peux améliorer la présentation en mettant des balises code

  5. #5
    Membre Expert
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 704
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 704
    Par défaut
    Pratique !

    Ca mériterait d'être dans le FAQ.

    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. :bug: ___ "http://club.developpez.com/regles/#LIII-A"Écrivez dans un français correct !!

    C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.3 Entreprise - Visual studio 2022
    OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.7)

  6. #6
    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
    http://oracle.developpez.com/faq/?pa...#objectinvalid

    Et DBA_ERRORS me parait nettement plus utile

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

Discussions similaires

  1. ORACLE FORMS (Extraction sources)
    Par nitro93 dans le forum Forms
    Réponses: 8
    Dernier message: 01/06/2007, 15h35
  2. Réponses: 1
    Dernier message: 14/04/2006, 13h04
  3. Réponses: 12
    Dernier message: 27/08/2003, 11h04

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