参考自:
New Rman Blockrecover command in 11g (Recover corruption list) (文档 ID 1390759.1)
11g rman blockrecover 时的新特性:
注意:10g时的blockrecover命令被废弃,但是依然支持。
Rman> Recover datafile <fileno> block <block number reported corrupt>; Rman> Recover datafile <fileno> block <block number > to <block number>; Rman> recover corruption list ;--->将V$DATABASE_BLOCK_CORRUPTION 中的坏块都recover掉。
Rman> Recover tablespace <name> dba <integer value> ; Rman> Recover tablespace testing dba 29360329 ;
举例:
SQL>SELECT DBMS_UTILITY.MAKE_DATA_BLOCK_ADDRESS(<file#>,<block#>) FROM DUAL; SQL> SELECT DBMS_UTILITY.MAKE_DATA_BLOCK_ADDRESS(7,201) FROM DUAL; DBMS_UTILITY.MAKE_DATA_BLOCK_ADDRESS(7,201) ------------------------------------------- 29360329 Rman> Recover tablespace <name> dba <integer value> ; Rman> Recover tablespace testing dba 29360329 ;
而10g时,只能:
RMAN> blockrecover datafile 5 block 20; --->只能用这个语法! Starting blockrecover at 17-JUN-15 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: sid=1068 devtype=DISK starting media recovery media recovery complete, elapsed time: 00:00:00 Finished blockrecover at 17-JUN-15 RMAN>