0% found this document useful (0 votes)
2 views

How to get rid of a corrupt block that has CORRUPTION_TYPE of FRACTURED on V$DATABASE_BLOCK_CORRUPTI

The document discusses a case of a corrupt database block identified as 'FRACTURED' in a DEV database without RMAN backups. Various attempts to resolve the corruption, including dropping and recreating the index, were unsuccessful. The solution was ultimately found by performing a 'BACKUP VALIDATE CHECK LOGICAL DATABASE', which resolved the corruption issue.

Uploaded by

Nizar Kraiem
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

How to get rid of a corrupt block that has CORRUPTION_TYPE of FRACTURED on V$DATABASE_BLOCK_CORRUPTI

The document discusses a case of a corrupt database block identified as 'FRACTURED' in a DEV database without RMAN backups. Various attempts to resolve the corruption, including dropping and recreating the index, were unsuccessful. The solution was ultimately found by performing a 'BACKUP VALIDATE CHECK LOGICAL DATABASE', which resolved the corruption issue.

Uploaded by

Nizar Kraiem
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

How to get rid of a corrupt block that has

CORRUPTION_TYPE of FRACTURED
on V$DATABASE_BLOCK_CORRUPTI
Posts: 130
September 2013 edited September 2013
We've got a corrupt block as follows on a DEV database that doesn't have RMAN backups.

SQL> select * from v$database_block_corruption;

FILE# BLOCK# BLOCKS CORRUPTION_CHANGE# CORRUPTIO


---------- ---------- ---------- ------------------ ---------
6 781711 1 0 FRACTURED

SQL> select segment_type, owner||'.'||segment_name


2 from dba_extents
3 where file_id = 6 and 781711 between block_id
4 and block_id+blocks -1;

SEGMENT_TYPE OWNER||'.'||SEGMENT_NAME
------------------
----------------------------------------------------------------------------------------------------------------
INDEX SOAINFRA.MEDIATOR_INSTANCE_INDEX1

I've tried rebuilding the index to see if that will get rid of the corrupt block, but it's still saying
corrupt, so I dropped it and then looked at the corrupt block again.

DROP INDEX SOAINFRA.MEDIATOR_INSTANCE_INDEX1;

Index dropped.

SQL> select * from v$database_block_corruption;

FILE# BLOCK# BLOCKS CORRUPTION_CHANGE# CORRUPTIO


---------- ---------- ---------- ------------------ ---------
6 781711 1 0 FRACTURED

SQL> select segment_type, owner||'.'||segment_name


2 from dba_extents
3 where file_id = 6 and 781711 between block_id
4 and block_id+blocks -1;

SQL> No rows selected.

I then re-create the index, and then the index gets flagged up as the corrupt block again:-
SQL> select * from v$database_block_corruption;

FILE# BLOCK# BLOCKS CORRUPTION_CHANGE# CORRUPTIO


---------- ---------- ---------- ------------------ ---------
6 781711 1 0 FRACTURED

SQL> select segment_type, owner||'.'||segment_name


2 from dba_extents
3 where file_id = 6 and 781711 between block_id
4 and block_id+blocks -1;

SEGMENT_TYPE OWNER||'.'||SEGMENT_NAME
------------------
----------------------------------------------------------------------------------------------------------------
INDEX SOAINFRA.MEDIATOR_INSTANCE_INDEX1

Without RMAN, how can I get rid of this corrupt block?

Thanks

Flag Quote Off Topic 1Like Share on TwitterShare on Facebook

Best Answer

Posts: 5,116 Gold Crown


September 2013

 On your next backup (with CHECK LOGICAL clause) this view will be updated.

If the logical corruption has been fixed then v$database_block_corruption will not
show any rows.

If it does show rows after the next backup, then move all the objects from the
tablespace and drop it.

Flag Quote Off Topic Like Share on TwitterShare on Facebook

Answers

 Posts: 5,116 Gold Crown


September 2013
Also the V$DATABASE_BLOCK_CORRUPTION view displays blocks marked corrupt by
Oracle Database components such as RMAN commands, ANALYZE, dbv, SQL queries, and
so on.
So running any of these involving the index should clear the errors from the view too.

Flag Quote Off Topic Like Share on TwitterShare on Facebook


  Posts: 130
September 2013
Thanks TopGun

I've tried the second one as I thought that would be quicker.

dropped the index.

then ran

dbv file=<file_name for where the index is>

(The dbv reported an error earlier)

This now says no failures.

Logged on to the database - V$database_block_corruption still has 1 row in it.

Tried creating the index again - created successfully, but V$database_block_corruption still
has 1 row in it.

Re-ran

dbv file=<file_name for where the index is>

Still reports no failures.

So, the two now seem to be out of synch?

I'll try an RMAN backup aswell......

Flag Quote Off Topic Like Share on TwitterShare on Facebook


  Posts: 5,116 Gold Crown
September 2013 edited September 2013
You can also try:

RMAN> backup check logical tablespace <name>

Instead of doing a full backup

Flag Quote Off Topic Like Share on TwitterShare on Facebook


  Posts: 561
September 2013
Hello,

You try this, hope it helps


RMAN> blockrecover corruption list;

Regards
Flag Quote Off Topic Like Share on TwitterShare on Facebook
  Posts: 130
September 2013 edited September 2013
Hi guys

thanks for your input.

The resolution was to do a BACKUP VALIDATE CHECK LOGICAL DATABASE as


recommended by TopGun

This did the job :-)

thanks

Jonathan

Flag Quote Off Topic Like Share on TwitterShare on Facebook


  Posts: 5,116 Gold Crown
September 2013
Cool - can you also mark a reply as correct or helpful, so that:
1) you receive a mark for responding
2) the community knows the question has been answered?
Flag Quote Off Topic Like Share on TwitterShare on Facebook
 Posts: 130
September 2013
Hi TopGun

I marked the "1. September 17, 2013 11:57 AM " post as the correct one earlier on when I
did the last post.

I always try to do this, cos I know how helpful they can be :-)

cheers,
Jonathan

Flag Quote Off Topic Like Share on Twitter

You might also like