Devolver un tablespace a un punto del pasado (TSPITR)
OracleRMANComando
-- 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;Qué hace
RMAN recupera SYSTEM/UNDO/SYSAUX y el tablespace de destino hasta la hora solicitada en una instancia auxiliar temporal y luego lo vuelve a conectar a la base de datos de destino con transportable tablespace; el resto de la base de datos sigue actualizado.
Cuándo usarlo
Cuando un job batch defectuoso o un DROP/TRUNCATE erróneo dañó datos en un solo tablespace (o en un conjunto de tablespaces autoconsistente) y las opciones de flashback no bastan.
Precaución
Se pierden TODOS los cambios hechos en ese tablespace y todos los objetos creados después de la hora de destino. El conjunto de tablespaces debe ser autocontenido (ningún índice/tabla, partición, LOB o FK en otro tablespace). No se puede usar con tablespaces que contengan SYSTEM, UNDO u objetos de SYS. Tras el TSPITR, los backups anteriores de ese tablespace no sirven; tome un backup de inmediato. AUXILIARY DESTINATION necesita espacio libre para SYSTEM+SYSAUX+UNDO+el tablespace de destino.
Relacionado
- Crear un recovery catalog de RMAN y registrar la base de datos
- Crear un physical standby desde la base de datos activa con RMAN DUPLICATE
- Validar y limpiar los registros de backup de RMAN (CROSSCHECK, EXPIRED, OBSOLETE)
- Validar la base de datos y los backups frente a corrupción (VALIDATE)
- Ver qué backups usaría una restauración y validarlos (PREVIEW / VALIDATE)
- Reparar bloques corruptos en línea (block media recovery, RECOVER CORRUPTION LIST)