Ramener un tablespace à un point dans le passé (TSPITR)
OracleRMANCommande
-- 1) Is the tablespace self-contained (SQL, on the target DB):
EXEC DBMS_TTS.TRANSPORT_SET_CHECK(ts_list => 'USERS', incl_constraints => TRUE, full_check => TRUE);
SELECT * FROM transport_set_violations;
-- 2) Objects created AFTER the target time that TSPITR will lose:
SELECT owner, name, tablespace_name,
TO_CHAR(creation_time,'YYYY-MM-DD HH24:MI:SS') AS created
FROM ts_pitr_objects_to_be_dropped
WHERE tablespace_name = 'USERS'
AND creation_time > TO_DATE('2026-01-15 03:00:00','YYYY-MM-DD HH24:MI:SS');
# 3) RMAN: with an automatic auxiliary instance
RECOVER TABLESPACE users
UNTIL TIME "TO_DATE('2026-01-15 03:00:00','YYYY-MM-DD HH24:MI:SS')"
AUXILIARY DESTINATION '/u03/aux';
# 4) The tablespace is left OFFLINE: take a backup first, then bring it online
BACKUP TABLESPACE users;
ALTER TABLESPACE users ONLINE;Ce que fait la commande
RMAN récupère SYSTEM/UNDO/SYSAUX et le tablespace cible jusqu'à l'instant demandé dans une instance auxiliaire temporaire, puis le rebranche dans la base cible par transportable tablespace ; le reste de la base reste à jour.
Quand l'utiliser
Lorsqu'un batch défaillant ou un DROP/TRUNCATE erroné a endommagé les données d'un seul tablespace (ou d'un ensemble cohérent de tablespaces) et que les options flashback ne suffisent pas.
Attention
TOUS les changements effectués dans ce tablespace et tous les objets créés après l'instant cible sont perdus. L'ensemble de tablespaces doit être autonome (aucun index/table, partition, LOB ou FK dans un autre tablespace). Il ne peut pas être utilisé pour les tablespaces contenant des objets SYSTEM, UNDO ou SYS. Après un TSPITR, les sauvegardes antérieures de ce tablespace sont inutilisables ; faites immédiatement une sauvegarde. AUXILIARY DESTINATION nécessite de l'espace libre pour SYSTEM+SYSAUX+UNDO+le tablespace cible.
Voir aussi
- Créer un catalogue de restauration RMAN et y enregistrer la base
- Créer une physical standby depuis la base active avec RMAN DUPLICATE
- Valider et nettoyer les enregistrements de sauvegarde RMAN (CROSSCHECK, EXPIRED, OBSOLETE)
- Valider la base et les sauvegardes contre la corruption (VALIDATE)
- Voir quelles sauvegardes une restauration utiliserait et les valider (PREVIEW / VALIDATE)
- Réparer en ligne des blocs corrompus (block media recovery, RECOVER CORRUPTION LIST)