Unix Technical Forum

Oracle block corruption, restore and roll forward

This is a discussion on Oracle block corruption, restore and roll forward within the Oracle Database forums, part of the Database Server Software category; --> We are running an Oracle 8.1.7.4.1 SE database and a datafile has a corrupt block. The database has been ...


Go Back   Unix Technical Forum > Database Server Software > Oracle Database

Register FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 02-24-2008, 08:40 AM
Andrew Riley
 
Posts: n/a
Default Oracle block corruption, restore and roll forward

We are running an Oracle 8.1.7.4.1 SE database and a datafile has a
corrupt block. The database has been restored and we have attempted
to roll forward using the current control files and archive logs but
it has failed.

The table concerned is fairly large at ~150Gb so selecting/inserting
around the corrupt 2K block could be a bit of a nightmare!

Has anybody else had a similar problem and been able to resolve it?
If so, what actions did you take?

Any feedback would be appreciated.

Many thanks
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #2 (permalink)  
Old 02-24-2008, 08:40 AM
Jim Kennedy
 
Posts: n/a
Default Re: Oracle block corruption, restore and roll forward


"Andrew Riley" <himsdba@yahoo.co.uk> wrote in message
news:30e7f1c6.0411021834.34706262@posting.google.c om...
> We are running an Oracle 8.1.7.4.1 SE database and a datafile has a
> corrupt block. The database has been restored and we have attempted
> to roll forward using the current control files and archive logs but
> it has failed.
>
> The table concerned is fairly large at ~150Gb so selecting/inserting
> around the corrupt 2K block could be a bit of a nightmare!
>
> Has anybody else had a similar problem and been able to resolve it?
> If so, what actions did you take?
>
> Any feedback would be appreciated.
>
> Many thanks


Yes. Do an export on the object. It should fail which allows you to
identify the object. If the object is an index then drop the index and
recreate it. Construct a select that does a full table scan and determine
what block it is by including the rowid in the select and spooling it to a
file. Then do a create table as select excluding the rows (via rowid) into
another area and get the good data into the new table. Then you are going
to have to figure out what to do with the missing rows.
Jim


Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #3 (permalink)  
Old 02-24-2008, 08:40 AM
IANAL_VISTA
 
Posts: n/a
Default Re: Oracle block corruption, restore and roll forward

himsdba@yahoo.co.uk (Andrew Riley) wrote in
news:30e7f1c6.0411021834.34706262@posting.google.c om:

> We are running an Oracle 8.1.7.4.1 SE database and a datafile has a
> corrupt block. The database has been restored and we have attempted
> to roll forward using the current control files and archive logs but
> it has failed.
>
> The table concerned is fairly large at ~150Gb so selecting/inserting
> around the corrupt 2K block could be a bit of a nightmare!
>
> Has anybody else had a similar problem and been able to resolve it?
> If so, what actions did you take?
>
> Any feedback would be appreciated.
>
> Many thanks
>


http://metalink.oracle.com explains how to handle this situation.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #4 (permalink)  
Old 02-24-2008, 08:40 AM
Howard J. Rogers
 
Posts: n/a
Default Re: Oracle block corruption, restore and roll forward


"Andrew Riley" <himsdba@yahoo.co.uk> wrote in message
news:30e7f1c6.0411021834.34706262@posting.google.c om...
> We are running an Oracle 8.1.7.4.1 SE database and a datafile has a
> corrupt block. The database has been restored and we have attempted
> to roll forward using the current control files and archive logs but
> it has failed.
>
> The table concerned is fairly large at ~150Gb so selecting/inserting
> around the corrupt 2K block could be a bit of a nightmare!
>
> Has anybody else had a similar problem and been able to resolve it?
> If so, what actions did you take?
>
> Any feedback would be appreciated.
>
> Many thanks


DBMS_REPAIR is your friend in this situation. It will scan a table and
report which blocks it is that are corrupt. You can also use the package to
makr those blocks as corrupt, and hence make them skippable by full table
scans performed by users. It means you lose the data in those blocks (some
new meaning of the word 'repair', methinks!), but it's better than not
having a working table at all.

Otherwise, the only thing I can think of is that you didn't restore froma
suffcieintly old backup, and that the corruption was in the backup you just
restored from. In which case (a) why don't you verify your backups using
DBVerify (dbv) -because then you would have known of the problem in your
backup set. And (b) how about restoring from a much older backup and
recovering that?

Regards
HJr


Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #5 (permalink)  
Old 02-24-2008, 08:41 AM
Dusan Bolek
 
Posts: n/a
Default Re: Oracle block corruption, restore and roll forward

"Howard J. Rogers" <hjr@dizwell.com> wrote in message news:<41884f24$0$32593$afc38c87@news.optusnet.com. au>...

> Otherwise, the only thing I can think of is that you didn't restore froma
> suffcieintly old backup, and that the corruption was in the backup you just
> restored from. In which case (a) why don't you verify your backups using
> DBVerify (dbv) -because then you would have known of the problem in your
> backup set. And (b) how about restoring from a much older backup and
> recovering that?


.... and also how about using RMAN utility for future backups to ensure
that something like this (unnoticed corrupted backup set) wouldn't
happen again?

--
Dusan Bolek
http://www.db-support.com

Email: spambin@seznam.cz
Pls add "Not Guilty" to the subject, otherwise your email will face an
unpleasant end as SPAM.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #6 (permalink)  
Old 02-24-2008, 08:41 AM
Howard J. Rogers
 
Posts: n/a
Default Re: Oracle block corruption, restore and roll forward


"Dusan Bolek" <pagesflames@usa.net> wrote in message
news:1e8276d6.0411030648.6ae1d70e@posting.google.c om...
> "Howard J. Rogers" <hjr@dizwell.com> wrote in message
> news:<41884f24$0$32593$afc38c87@news.optusnet.com. au>...
>
>> Otherwise, the only thing I can think of is that you didn't restore froma
>> suffcieintly old backup, and that the corruption was in the backup you
>> just
>> restored from. In which case (a) why don't you verify your backups using
>> DBVerify (dbv) -because then you would have known of the problem in your
>> backup set. And (b) how about restoring from a much older backup and
>> recovering that?

>
> ... and also how about using RMAN utility for future backups to ensure
> that something like this (unnoticed corrupted backup set) wouldn't
> happen again?


Excellent point.

Regards
HJR


Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #7 (permalink)  
Old 02-24-2008, 08:41 AM
Andrew Riley
 
Posts: n/a
Default Re: Oracle block corruption, restore and roll forward

Thanks for the feedback. We have made some progress and here is a
brief outline.

We used Metalink to identify the object, block number and relevant
file. After cloning the database on SAN we restored a good copy of
the datafile from an early backup, checked it was OK with DBVerify and
recovered. It all completed BUT repicated the corrupt block. We think
this was caused by extremely intense I/O on the database (bit of
conjecture).

Although the database is 81741, legacy data types forces us to use 804
compatibility meaning we are unable to use DBMS_REPAIR. It also means
we are unable to use the data salvage SQL on Metalink (the long raw
column data type is explicitly unsupported).

Anyone any idea how we may recover/salvage data other than using
select/insert based on low/hi rowid?

We are also registered Oracle users and hope to get assistance from
the 'experts' (although they have ignored the 804 compatibility!!!)

Thanks in advance
Andrew Riley
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #8 (permalink)  
Old 02-24-2008, 08:42 AM
Dusan Bolek
 
Posts: n/a
Default Re: Oracle block corruption, restore and roll forward

"Howard J. Rogers" <hjr@dizwell.com> wrote in message news:<4188f6e6$0$24942$afc38c87@news.optusnet.com. au>...
> "Dusan Bolek" <pagesflames@usa.net> wrote in message
> news:1e8276d6.0411030648.6ae1d70e@posting.google.c om...
> > "Howard J. Rogers" <hjr@dizwell.com> wrote in message
> > news:<41884f24$0$32593$afc38c87@news.optusnet.com. au>...
> >
> >> Otherwise, the only thing I can think of is that you didn't restore froma
> >> suffcieintly old backup, and that the corruption was in the backup you
> >> just
> >> restored from. In which case (a) why don't you verify your backups using
> >> DBVerify (dbv) -because then you would have known of the problem in your
> >> backup set. And (b) how about restoring from a much older backup and
> >> recovering that?

> >
> > ... and also how about using RMAN utility for future backups to ensure
> > that something like this (unnoticed corrupted backup set) wouldn't
> > happen again?

>
> Excellent point.
>
> Regards
> HJR


It seems to me today, that I shouldn't be so concise when posting
this. To elaborate this futher, even with RMAN it can still happen,
although not on the reported version. However, in general yes you can
have an unnoticed corrupted backup set even when using RMAN. It can
happen only in case of using 9.2.0.5 together with ASSM tablespaces
(see bug no. 3785200). Everyone with this combination should apply the
patch that is already available, becase otherwise he could encounter a
data loss. Beware, this one is quite nasty!

--
Dusan Bolek
http://www.db-support.com

Email: spambin@seznam.cz
Pls add "Not Guilty" to the subject, otherwise your email will face an
unpleasant end as SPAM.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT. The time now is 09:39 AM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0
www.UnixAdminTalk.com