Bonjour,
J'ai un peu le même problème, bien que j'utilise SET UNTIL TIME :
Je fais une sauvegarde complète de la database avec RMAN chaque nuit. Le lendemain un utilisateur crée une table puis la supprime.
Je veux donc restaurer le tablespace contenant cett table jusqu'à l'état avant la supression.
Voilà mes paramètres de sauvegarde et le script de sauvegarde :
Je crée une table :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT 'C:\Backup\...' MAXPIECESIZE 2G; CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 6 DAYS; CONFIGURE CONTROLFILE AUTOBACKUP ON; CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'C:\Backup\...'; BACKUP DATABASE PLUS ARCHIVELOG; RESTORE DATABASE VALIDATE; DELETE NOPROMPT OBSOLETE; crosscheck backup; delete noprompt expired backup; crosscheck archivelog all; delete noprompt expired archivelog all;
Je supprime la table :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 create table simon(idtable number constraint Pk_idtable primary key, datetable date); insert into simon values(1, sysdate); insert into simon values(2, sysdate); insert into simon values(3, sysdate); insert into simon values(4, sysdate); insert into simon values(5, sysdate); commit;
Je restaure le tablespace judqu'à la date avant la supression :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 DROP TABLE simon; Commit;
Je n'ai pas d'erreur à la restauration, mais quand je fais un select sur ma table elle n'a pas été restaurée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 SQL "ALTER DATABASE OPENDATA OFFLINE IMMEDIATE"; RUN { SET UNTIL TIME = "to_date('06/06/2013 15:30:00', 'DD/MM/YYYY HH24:MI:SS')"; RESTORE TABLESPACE OPENDATA; RECOVER TABLESPACE OPENDATA; } SQL "ALTER DATABASE OPENDATA ONLINE";
Qu'est-ce que je ne fais pas bien...?
Partager