How to recover a corrupted block in oracle10g

Step1. check corrupted block file# and block#

SQL> SELECT * FROM V$DATABASE_BLOCK_CORRUPTION;

FILE#     BLOCK#     BLOCKS CORRUPTION_CHANGE# CORRUPTIO

———- ———- ———- —————— ———

1        507          1                  0 CORRUPT

Step2. recover corrupted block and then validate again

rman target /

blockrecover datafile 1 block 507;

–To recover many blocks, using

BLOCKRECOVER DATAFILE 2 BLOCK 12,13 DATAFILE 3 BLOCK 5, 98, 99;

— you can use  BLOCKRECOVER CORRUPTION LIST;  to recover all block in the list.

backup validate datafile 1;

exit;

Step3. check corrupted block view.

SQL> select * from v$database_block_corruption;

no rows selected

Advertisements

About Alex Zeng
I would be very happy if this blog can help you. I appreciate every honest comments. Please forgive me if I'm too busy to reply your comments in time.

4 Responses to How to recover a corrupted block in oracle10g

  1. neworacledba says:

    you post great on unique topics…keep up the good job

  2. j.anand says:

    thanks ….it really helpme a lot…….

  3. V.G.Krishnan says:

    Can we execute this recovery steps during the application are up and running in OLTP database??

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: