Access the answers to your technology questions today.
Subscribe Now
30-day free trial. Register in 60 seconds.
What Makes Experts Exchange Unique?
Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.
Try it out and discover for yourself.
Subscribe Now
30-day free trial. Register in 60 seconds.
Join the Community
Give a Little. Get a Lot.
Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.
Join the Community
by: johnsonePosted on 2007-09-06 at 11:00:12ID: 19842329
First thing I would do is determine if the block is in use.
select owner, segment_name, segment_type
from dba_extents
where file_id = 3 and
15031 between block_id and block_id + blocks - 1;
If nothing is found then verify the block is free.
select *
from dba_free_space
where file_id = 3 and
15031 between block_id and block_id + blocks - 1;
If the block is free, then I believe no action is necessary. When the block is used it will be rewritten and the problem corrected.
If the block is used, you can definitely recover the data in the other blocks. It is not easy, but possible. Some of the data in the corrupt block may be lost.
Your other option would be to restore the file from backup, then roll it forward. This may avoid the corruption, but it may recreate the corruption.