To recover one or more data blocks, RMAN must know the datafile number and block number
within the datafile. This information is available in a user trace file, as in the following example:
ORA-01578: ORACLE data block corrupted (file # 6, block # 403)
ORA-01110: data file 6: '/u09/oradata/ord/oe_trans01.dbf'
Alternatively, the block may appear in the view V$DATABASE_BLOCK_CORRUPTION after
an RMAN backup command; the columns FILE# and BLOCK# provide the information needed to
execute the recover command. The column CORRUPTION_TYPE identifies the type of corruption
in the block, such as FRACTURED, CHECKSUM, or CORRUPT. Fixing the block is easily
accomplished in RMAN:
RMAN> recover datafile 6 block 403;
Starting recover at 04-SEP-07
using channel ORA_DISK_1
starting media recovery
456 Oracle Database 11g DBA Handbook
media recovery complete, elapsed time: 00:00:01
Finished recover at 04-SEP-07
RMAN>
A corrupted block must be restored completely; in other words, all redo operations up to the
latest SCN against the data block must be applied before the block can be considered usable again.
NOTE
The blockrecover command, available in previous releases of RMAN,
has been deprecated in Oracle Database 11g in favor of the recover
command; the syntax of the command is otherwise the same.
Restoring a Control File
In the rare event that you lose all copies of your control file, it is easy to restore the control file
when a recovery catalog is used; start the instance with nomount (since we don??™t have a control
file to read with mount) and issue the following RMAN command:
RMAN> restore controlfile;
If you are not using a recovery catalog, you can add the from ???
??™ clause to the
command to specify where the latest control file exists:
RMAN> restore controlfile from '/u11/oradata/ord/bkup.
Pages:
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701