|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() Tij SELInscription : mars 2010 Messages : 282 ![]() |
Bonjour,
Est ce que je peux revenir en arrière pour les enregistrements d'une table , je veux récupérer les données d'hier ou d'avant une heure. Est ce que c'est possible? Merci |
|
|
00
|
|
|
#2 |
|
Membre habitué
![]() Développeur informatique Inscription : juillet 2002 Messages : 96 ![]() |
Bonjour,
C'est eventuellement possible par exemple avec MySQL, si tu as les logs binaires activés. ainsi qu'un dump quotidien. Commence par faire un dump pour être sur de ne rien perdre. Ensuite, il te "suffira" de : - Récupérer dans un fichier la totalité de tes logs binaires a partir du dump - De virer toutes les requêtes que tu ne veux pas voir exécuter. - Réintégrer un dump de la veille - Faire passer tes logs binaires filtrés par tes soins pour qu'ils restituent tout ce qui a été faire depuis le dump de la veille a l'exceptions des requêtes que tu as préalablement enlevées. Bien sur, il est évidemment conseillé de ne pas faire ceci en production, d'être très rigoureux sur le contenu du fichier que tu vas réintegrer apres ton dump. Et bien sur cela peut être très fastidieux si tu as eu des millions de requêtes depuis ton dernier dump. Ca peut etre long, mais avec quelques scripts bien ficelés, tu devrait t'en tirer sans trop de problèmes. Alors attention, cette solution peut-être un peu bourrine, si quelqu'un en connait une meilleure, c'est toujours bon a prendre. Cordialement.
__________________
Je connais des gens qui ne sont pas aware, il ne sont pas qu courant. il ne sont pas a l'attention de savoir qu'ils existent. "J-C Van dam" |
|
|
01
|
|
|
#3 |
|
Membre habitué
![]() Développeur informatique Inscription : juillet 2002 Messages : 96 ![]() |
Désolé, mais j'avais pas vu que le message faisait parti du forum Oracle..
![]() Ce post peut etre ? http://www.developpez.net/forums/d21...-apres-update/
__________________
Je connais des gens qui ne sont pas aware, il ne sont pas qu courant. il ne sont pas a l'attention de savoir qu'ils existent. "J-C Van dam" |
|
|
00
|
|
|
#4 |
|
Membre régulier
![]() Tij SELInscription : mars 2010 Messages : 282 ![]() |
Si je n'ai pas créé de mouvement de ligne , je ne peux pas faire de flashback.
Est ce que c'est vrai? |
|
|
00
|
|
|
#5 | |
![]() Inscription : décembre 2002 Messages : 2 385 ![]() |
Citation:
Mais l'activation du mouvement des lignes peut se faire à tout moment, donc ce n'est pas une grosse contrainte.
__________________
Consultant / formateur Oracle indépendant Certifié OCP 10g et 11g, sécurité 11g |
|
|
|
00
|
|
|
#6 |
|
Membre régulier
![]() Tij SELInscription : mars 2010 Messages : 282 ![]() |
J'ai pas activé mouvement de ligne donc comment je peux récupérer les données d'une date ?
|
|
|
00
|
|
|
#7 |
|
Nouveau Membre du Club
![]() Inscription : septembre 2008 Messages : 45 ![]() |
Bonjour,
Pas beaucoup de possibilité dans ce cas précis. Je ne voit personnellement que deux hypothèses : Le flashback database (si activé) ou rejouer les archiveslog jusqu'a la date et heure qui te convienne. Mais les inconvénients sont majeurs puisque cela implique de l'indisponibilité et que cela concernera l'intégralité de ta base de données, et donc potentiellement d'autres objets / tables A tout hasard, si ton tablespace possède l'option RETENTION_GUARANTEE, essaie de récupérer le n° de SCN lié à la date et heure qui t'interesse , et tente Code :
flashback TABLE mytable TO scn XXXXX ; Code :
flashback TABLE mytable TO_TIMESTAMP ('29/01/2011 12:00:00','DD/MM/YYYY HH24:MI:SS') |
|
|
00
|
|
|
#8 | |
![]() Inscription : décembre 2002 Messages : 2 385 ![]() |
Citation:
1) Il faut bien voir que l'historisation des anciennes valeurs est assurée automatiquement par le tablespace d'annulation, mais pendant une durée assez brève et un peu aléatoire. Pour paramétrer la durée de rétention souhaitée (sans garantie) : Code :
ALTER system SET undo_retention=nombre_de_secondes; Code :
ALTER tablespace mon_tbs_undo RETENTION GUARANTEE;
Il a juste pour effet d'autoriser que les lignes de données changent d'adresse, ce qui n'est pas permis par défaut. Code :
ALTER TABLE ma_table ENABLE ROW MOVEMENT;
__________________
Consultant / formateur Oracle indépendant Certifié OCP 10g et 11g, sécurité 11g |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com