上QQ阅读APP看书,第一时间看更新
4.2.2 创建映像副本
映像副本是表空间数据文件、归档重做日志文件或控制文件的准确副本。虽然也可以使用操作系统命令执行复制,但RMAN命令BACKUP AS COPY提供了附加好处:验证块并将备份自动记录在控制文件和恢复目录(如果已经配置了恢复目录)中。建立映像副本的另一个附加好处是:如果由于某些原因必须在RMAN范围以外执行恢复操作,则可以在RMAN以外“按原样”使用副本。
在使用映像副本时存在一项限制,即只能将映像副本写入磁盘。然而,也可以将其看作是一项优点。虽然磁盘空间相对于磁带存储而言贵一些,但由于用于恢复的文件已经保存在磁盘上,它的还原时间会短很多。
在恢复场景中,只能通过两种不同方法来使用磁盘映像副本:RMAN命令或SQL命令。如果正在使用RMAN,则可以使用SWITCH命令。在下面的例子中,丢失包含表空间STAR_SCHEMA的磁盘,而且需要切换到备份副本:
RMAN> sql "alter tablespace star_schema offline immediate"; RMAN> switch tablespace star_schema to copy; RMAN> recover tablespace star_schema; RMAN> sql "alter tablespace star_schema online";
提示:
从Oracle Database 12c RMAN开始,对于原本要在SQL*Plus中运行的命令,不再需要使用sql ""结构来运行它们,除非某个命令在RMAN和SQL*Plus中具有相同的名称,可能导致二义性。不过,仍然可以使用sql ""清晰地表明所运行的不是RMAN命令。
另外,只要包含数据文件的表空间脱机或数据库处于MOUNT模式,就可以在SQL>提示符中使用ALTER DATABASE RENAME FILE命令。
最后,表空间或归档重做日志文件的映像副本包含表空间或归档重做日志文件中的所有块。只要添加INCREMENTAL LEVEL 0参数,就可以将数据文件的映像副本用作完整或增量级别0备份:
RMAN> backup incremental level 0 2> as copy 3> tablespace sysaux; Starting backup at 25-FEB-14 allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=1281 device type=DISK allocated channel: ORA_DISK_2 channel ORA_DISK_2: SID=1029 device type=DISK allocated channel: ORA_DISK_3 channel ORA_DISK_3: SID=1274 device type=DISK allocated channel: ORA_DISK_4 channel ORA_DISK_4: SID=523 device type=DISK channel ORA_DISK_1: starting datafile copy input datafile file number=00003 name=+DATA/RPT12C/DATAFILE/sysaux.257.826650753 output file name=+RECOV/RPT12C/DATAFILE/sysaux.288.840446473 tag=TAG20140225T092112 RECID=1 STAMP=840446486 channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:15 Finished backup at 25-FEB-14 RMAN>