|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Nouveau Membre du Club
![]() Inscription : mai 2007 Messages : 72 ![]() |
bonjour à tous,
je suis regulierement amené à recompiler des procedures stockées dans divers schémas sur des instances differentes suites à des mises à jour de base de données. j'aurais voulu "automatiser" ça au maximum. hum je vous previens que je suis plutot une bille en SQL mais je ne demande qu'a m'ameliorer. ![]() Je pensais faire une 1ere requete qui remonte les noms et schémas de ces procedures : Code :
cette requete renverrais les resutats pour passer un ordre SQL : Code :
ALTER procedure "RESULTAT DE LA REQUETE #1" compile; comment faire pour la 2e requete? |
||
|
|
00
|
|
|
#2 | ||
|
Nouveau Membre du Club
![]() Inscription : mai 2007 Messages : 72 ![]() |
un truc dans ce genre là :
Code :
|
||
|
|
00
|
|
|
#3 |
|
Expert Confirmé
![]() Inscription : février 2006 Messages : 3 433 ![]() |
Si vous pouvez avoir les droits SYSDBA, le plus simple est d'utiliser le script <ORACLE_HOME>/rdbms/admin/utlrp.sql qui va recompiler tous les objets (procédures, fonctions, packages, triggers, vues, etc) dans tous les schémas de la base.
Toujours avec les droits SYSDBA, vous pouvez compiler par schéma avec le package UTL_RECOMP. Sinon DBMS_UTILITY.COMPILE_SCHEMA peut être utilisé sans les droits SYSDBA. Attention en cas de dépendances inter schémas, il faut compiler dans le bon ordre sous peine d'avoir des objets invalides à répétition: il faut commencer par compiler les objets qui n'utilisent aucun autre objet à compiler (niveau 0), puis les objets qui utilisent le niveau 0, etc. |
|
|
00
|
|
|
#4 | |
|
Membre éprouvé
![]() Inscription : décembre 2007 Messages : 354 ![]() |
Citation:
|
|
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Inscription : mai 2007 Messages : 72 ![]() |
bonjour et merci pour votre reponse,
J'ai déjà tenté d'utiliser le script utlrp.sql, en revenche je n'avais pas noté qu'il fallait l'utiliser avec les droits sysdba.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com