Oracle表空间时间点恢复数据的方法
已有一个数据库全备,在PDB中恢复被drop掉的表空间
1.新建表空间
1 | create tablespace PITR_TBS datafile '/u01/app/oracle/oradata/PRODCDB/PDBPROD2/PITR_TBS01.dbf' size 10m;
|

2.使用RMAN备份.
1 | backup as compressed backupset database INCLUDE CURRENT CONTROLFILE plus archivelog;
|

3.Drop表空间模拟故障
1 | drop tablespace PITR_TBS including contents and datafiles;
|

查看想要恢复的表空间的所在备份位置:

4.查看控制文件备份
1 | list backup of controlfile;
|

5.找到 pdbprod2 备份之后,最邻近的控制文件备份对应的 SCN

6.恢复表空间
1 | recover tablespace pdbprod2:PITR_TBS until scn 2887757 auxiliary destination '/u01/app/oracle' ;
|

此时已经有辅助实例在帮助恢复表空间


此时表空间已经恢复但是offline状态。
7.表空间online
1 | alter tablespace PITR_TBS online;
|
