|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
COMPILER LES OBJECTS EN ERREUR SOUS ORACLE
Information sur la source
Description
Pour ma première source je poste un script qui permet de compiler les objets en erreur (PACKAGE, PACKAGE BODY, VIEW, FUNCTION, TRIGGER, et PROCEDURE stocké )
Script testé uniquement sous Oracle 8I et 9I mais devrait fonctionner sous toutes les versions d'Oracle.
Une fois connecté sous un Schema spécifique exécutez le petit script si dessous.
Celui ci parcourt tous les objets du Shema en statut 'INVALIDE' et génère un script avec les commandes de compilation.
Une fois le script généré il l'exécute en affichant après chaque compilation les erreurs pouvant être survenues pendant la compilation.
Puis en fin de script, il affiche les objets qu'il n'a pas réussi à passer en mode 'VALID'
Voilà
Source
- -- pour ne pas avoir de saut de page
- SET PAGES 0
-
- -- on n'affiche rien à l'écran
- SET ECHO OFF
-
- -- Le nom du script sql qui sera généré
- SPOOL ${ORACLE_SID}_compile.sql
-
- PROMPT SET ECHO ON
-
- -- selection de tous les objets en status invalide
- -- et génération de la ligne de commande pour les compiler
- -- suivi d'un 'show error ' dans le script
- SELECT 'alter '||
- decode(object_type, 'PACKAGE BODY','PACKAGE',object_type) ||
- ' '||object_name||
- ' compile '||decode(object_type,'PACKAGE','PACKAGE', 'PACKAGE BODY','body',null)
- ||chr(10)||'/'||chr(10)||'show errors'
- FROM user_objects
- WHERE object_type IN ('PACKAGE','PACKAGE BODY','VIEW', 'FUNCTION','TRIGGER','PROCEDURE')
- AND status = 'INVALID'
- ORDER BY decode(object_type,'VIEW',1,
- 'FUNCTION',2,
- 'PROCEDURE',3,
- 'PACKAGE',4,
- 'PACKAGE BODY',5,
- 'TRIGGER',6,7)
- /
- PROMPT SET ECHO OFF
- -- on ferme le script généré
- SPOOL OFF
-
- -- création d'un fichier log pour archivé les SHOW ERROR après chaque compilation
- SPOOL ${ORACLE_SID}_compile.log
-
- -- execution du script généré
- @${ORACLE_SID}_compile.sql
-
- SPOOL OFF
- REM
-
- -- et enfin on affiche de nouveau les objets toujours
- -- en statu 'INVALIDE' après la compilation
-
- SET PAGESIZE 500
- TTITLE 'Invalid Objects'
- COLUMN c format a70 HEADING 'Object_name(Object_type)'
-
- SELECT object_name||'('||object_type||')' c
- FROM user_objects
- WHERE status='INVALID'
- ORDER BY object_type,object_name;
-- pour ne pas avoir de saut de page
SET PAGES 0
-- on n'affiche rien à l'écran
SET ECHO OFF
-- Le nom du script sql qui sera généré
SPOOL ${ORACLE_SID}_compile.sql
PROMPT SET ECHO ON
-- selection de tous les objets en status invalide
-- et génération de la ligne de commande pour les compiler
-- suivi d'un 'show error ' dans le script
SELECT 'alter '||
decode(object_type, 'PACKAGE BODY','PACKAGE',object_type) ||
' '||object_name||
' compile '||decode(object_type,'PACKAGE','PACKAGE', 'PACKAGE BODY','body',null)
||chr(10)||'/'||chr(10)||'show errors'
FROM user_objects
WHERE object_type IN ('PACKAGE','PACKAGE BODY','VIEW', 'FUNCTION','TRIGGER','PROCEDURE')
AND status = 'INVALID'
ORDER BY decode(object_type,'VIEW',1,
'FUNCTION',2,
'PROCEDURE',3,
'PACKAGE',4,
'PACKAGE BODY',5,
'TRIGGER',6,7)
/
PROMPT SET ECHO OFF
-- on ferme le script généré
SPOOL OFF
-- création d'un fichier log pour archivé les SHOW ERROR après chaque compilation
SPOOL ${ORACLE_SID}_compile.log
-- execution du script généré
@${ORACLE_SID}_compile.sql
SPOOL OFF
REM
-- et enfin on affiche de nouveau les objets toujours
-- en statu 'INVALIDE' après la compilation
SET PAGESIZE 500
TTITLE 'Invalid Objects'
COLUMN c format a70 HEADING 'Object_name(Object_type)'
SELECT object_name||'('||object_type||')' c
FROM user_objects
WHERE status='INVALID'
ORDER BY object_type,object_name;
Conclusion
Voilà, c'est un petit script sans prétention mais bien utile.
Fichier Zip
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
Télécharger le zip
Historique
- 23 juin 2005 13:16:56 :
- N/A
Sources de la même categorie
Sources en rapport avec celle ci
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Message d'erreur lors de la génération de form par Oracle Designer [ par chryssR ]
Bonjour, J'utilise une Base de Données Oracle 9i (version 9.2) et des outils de développement sur Oracle Developper Suite (version 9.0.2). Apparament
erreur ora-01789 sous oracle [ par Jordan59 ]
Bonjour à tous,Je rencontre une erreur sur des requêtes vers une base de données Oracle, à savoir :ORA-01789 : query Block has incorrect number of res
Restauration erreur de réseau général [ par sylvie49 ]
Bonjour, je restaure une base de données et une fois la restauration terminée (et OK), dès le 1er ordre sql, j'ai une sql exception :"Erreur de réseau
Oracle-Hibernate - Violation de protocole :( [ par DARKSIDIOUS ]
Salut les amis,J'utilise Hibernate dans un projet web J2EE avec une base oracle. J'essaye de faire une requête toute simple : récupèrer un objet de ty
Problèmes d'installation sqlserver2005 sur vista [ par jado ]
Salut,J'ai un problème lié a l'installation de sqlserver 2005 express sur vista, j'ai l'erreur suivante Windows Installer a rencontré une erreur inatt
ORA-06502: PL/SQL erreur numérique ou erreur sur valeur [ par kharon_rp ]
Marc
erreur 5 sql server 2000 [ par misslonely ]
bsr,j'ai un grand problème, je suis débutante en sql server 2000,je l'ai installé et désinstallé plusieurs fois , mais ce problème persiste toujours,
Connexion WINDEV ORACLE par OLEDB [ par EUREKA_05 ]
Bonjour,Je dois établir une connexion entre mon application Windev et une base oracle, j'utilise donc le code suivant :MaConnexion<font color="#0000
erreur lors d'une suppression d'une donner [ par sabouha31 ]
Salut, j'ai fais se code de supprimer un enregistrement de la bdd $requete= "DELETE FROM ".$_GET['table']." where IDENTIFIANT_ETUD='".$_GET['id']."'"
import fichier xml dans une base de donnée oracle. [ par naceuredd ]
Bonjour , je suis étudiant et actuellement je suis en stage . On ma demander de rentrer dans une base de données un fichier xml .je vous demande d'av
|
Téléchargements
Logiciels à télécharger sur le même thème :
|