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>