Restore datafile from service: A cool #Oracle 12c Feature
You can restore a datafile directly from a physical standby database to the primary. Over the network. With compressed backupsets. How cool is that?
Here’s a demo from my present class Oracle Database 12c: Data Guard Administration. prima is the primary database on host01, physt is a physical standby database on host03. There is an Oracle Net configuration on both hosts that enable host01 to tnsping physt and host03 to tnsping prima
[oracle@host01 ~]$ rman target sys/oracle@prima
Recovery Manager: Release 12.1.0.1.0 - Production on Wed Jul 2 16:43:39 2014 Copyright (c) 1982, 2013, Oracle and/or its affiliates. All rights reserved. connected to target database: PRIMA (DBID=2084081935) RMAN> run { set newname for datafile 4 to '/home/oracle/stage/users01.dbf'; restore (datafile 4 from service physt) using compressed backupset; catalog datafilecopy '/home/oracle/stage/users01.dbf'; } executing command: SET NEWNAME Starting restore at 02-JUL-14 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=47 device type=DISK channel ORA_DISK_1: starting datafile backup set restore channel ORA_DISK_1: using compressed network backup set from service physt channel ORA_DISK_1: specifying datafile(s) to restore from backup set channel ORA_DISK_1: restoring datafile 00004 to /home/oracle/stage/users01.dbf channel ORA_DISK_1: restore complete, elapsed time: 00:00:07 Finished restore at 02-JUL-14 cataloged datafile copy datafile copy file name=/home/oracle/stage/users01.dbf RECID=8 STAMP=851877850
This does not require backups taken on the physical standby database.