DB:Oracle 12.1.0.2
从12c开始,可以使用物理备库中的对象,直接restore或recover主库中对应的对象,包括database,tablespace,datafile,控制文件、参数文件。
所谓“直接”,表示备库无需事先做backup,只要在主库执行restore,将即刻在备库自动创建备份,然后自动传输到主库,最后自动在主库还原恢复。
下例中,将模拟在主库破坏一个表空间,并用备库尝试还原。
注:在执行通过网络restore&recover的操作前,参考文档MOS:ID 1987193.1,编辑sqlnet.ora
在主库offline一个表空间,PDB1下的USERS表空间:
点击(此处)折叠或打开
-
$ sqlplus system@pdb1
- SQL> alter tablespace users offline;
点击(此处)折叠或打开
- ASMCMD> rm USERS.280.915735449
到这里,主库的数据文件发生了丢失,下面开始用备库的文件进行restore:
点击(此处)折叠或打开
-
rman target /
-
- RMAN> restore tablespace pdb1:users from service stby;
-
-
Starting restore at 2016-06-29 12:00:57
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=258 instance=racdb1 device type=DISK
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: using network backup set from service stby
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00011 to +DATA/RACDB/36556EC6931E6245E0531506A8C09CF7/DATAFILE/users.280.915735449
channel ORA_DISK_1: restore complete, elapsed time: 00:00:08
Finished restore at 2016-06-29 12:01:08
点击(此处)折叠或打开
-
RMAN> recover tablespace pdb1:users;
-
-
-
Starting recover at 2016-06-29 12:02:17
-
using channel ORA_DISK_1
-
-
starting media recovery
-
media recovery complete, elapsed time: 00:00:01
-
- Finished recover at 2016-06-29 12:02:22
点击(此处)折叠或打开
- SQL> alter tablespace users online;