|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 44 ![]() |
Bonjour,
Est-il possible de récuperer un package dropé ? sachant que le package a été supprimé le 16/06/2011 à 18h. Base : Oracle 9.2 OS : (AIX) merci par vance |
|
|
00
|
|
|
#2 |
![]() Inscription : décembre 2002 Messages : 2 387 ![]() |
Malheureusement, les opérations DDL comme le DROP sont définitives, car elles sont suivies par un COMMIT implicite.
Si vraiment la récupération de ce paquetage est vitale et que vous êtes prêt à une manipulation assez lourde, je ne vois qu'une restauration de votre base sur une machine de test pour vous sortir de ce mauvais pas. Après il suffira d'extraire le code source (dans DBA_SOURCE, par DBMS_METADATA ou un quelconque outil graphique), et de le rejouer sur la base de prod.
__________________
Consultant / formateur Oracle indépendant Certifié OCP 10g et 11g, sécurité 11g |
|
|
10
|
|
|
#3 |
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 44 ![]() |
Merci mais je n'ai pas compri votre réponse.
Restaurer la base à partir d'un dump ? mais le dump n'existe pas. |
|
|
01
|
|
|
#4 |
|
Expert Confirmé
![]() dba Inscription : juillet 2007 Messages : 2 520 ![]() |
Si tu as une ancienne sauvegarde par exp, tu peux aussi sortir uniquement le script complet de la bd qui devrait contenir ton package.
Ça t'évitera d'avoir à créer une nouvelle bd. Je ne sais plus l'option précise, je n'ai pas de bd oracle à porter de main, lance une recherche.
__________________
les règles du forum - mode d'emploi du forum Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur) JE NE RÉPONDS PAS aux questions techniques par message privé. Écrire en français sur un forum est une marque minimale de respect. |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 44 ![]() |
non, le package n'est pas disponible dans une ancienne version. il a été créé cette semaine.
|
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Inscription : août 2008 Messages : 1 271 ![]() |
Regarde ceci :
Retrieve old versions of procedures with Flashback Query et dépèche toi car le flashback n'est possible qu'un temps limité |
|
|
10
|
|
|
#7 | ||||
|
Membre Expert
![]() Inscription : août 2008 Messages : 1 271 ![]() |
Using Oracle Flashback Query (SELECT AS OF)
Normalement cette requête devrait te convenir à executer sous sys (et joue autour de l'horraire): Code :
Pour être sûr de ne pas perdre le code (s'il est encore disponnible) le temps de mettre en place ton script spool je te conseil de le sauvegarder dans une table : Code :
|
||||
|
|
10
|
|
|
#8 | |
![]() Inscription : décembre 2002 Messages : 2 387 ![]() |
Citation:
__________________
Consultant / formateur Oracle indépendant Certifié OCP 10g et 11g, sécurité 11g |
|
|
|
00
|
|
|
#9 | |||
|
Membre Expert
![]() Inscription : août 2008 Messages : 1 271 ![]() |
Au fait plutôt comme ça, en rajoutant le numéro de ligne, et pense qu'il y a aussi un header :
Code :
Citation:
|
|||
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 44 ![]() |
Merci bcp pour vos réponses,
mais mon undo_retention=10800s soit 180min je dois réécrire le package. |
|
|
00
|
|
|
#11 |
![]() Inscription : décembre 2002 Messages : 2 387 ![]() |
A vrai dire, la syntaxe AS OF n'existe qu'à partir de la V10.
En V9, il faut d'abord positionner la session en mode Flashback en précisant le point de retour en arrière, faire un SELECT ordinaire, mais qui fera référence au passé, puis repasser la session en mode normal. Voir un exemple ici http://helyos.developpez.com/flashback/#L4.3 J'ajoute, pour le demandeur qui a visiblement renoncé sans même tester, que la valeur UNDO_RETENTION n'est qu'indicative par défaut, et que selon l'activité modificative subie par la base, on peut retrouver les anciennes données pendant beaucoup moins ou beaucoup plus de temps. J'ai même eu un cas dans lequel les données visées semblaient perdues, mais où une augmentation après coup de UNDO_RETENTION les a rendues accessibles. Elles étaient donc toujours présentes dans l'UNDO, mais il fallait un peu forcer la porte. Ca peut donc valoir le coup de tenter sa chance sans pessimisme. Ceci amène une autre question : jusqu'où peut-on réellement remonter par requête Flashback ? En V9, je ne connais aucun moyen, mais dès la V10, la requête suivante fournira la réponse : Code :
SELECT min(start_timestamp) FROM flashback_transaction_query;
__________________
Consultant / formateur Oracle indépendant Certifié OCP 10g et 11g, sécurité 11g |
|
|
30
|
Copyright © 2000-2012 - www.developpez.com