Lost Writes

  • From: Charlotte Hammond <charlottejanehammond@xxxxxxxxx>
  • To: oracle-l@xxxxxxxxxxxxx
  • Date: Wed, 5 Aug 2009 14:29:08 -0700 (PDT)

Hi All,

We recently had a disk fault on one of our test servers.  After replacing the 
drive I recovered the database using RMAN only to encounter an ORA-600 [3020] 
part way relating to blocks in the system tablespace.  I had to do a 
point-in-time restore to get the database back.  We lost transactions (but 
since it was test not a big deal).

As I understand it this problem is possibly due to lost writes (i/o not 
going to disk but saying it has) due to the disk drive going bad (it may be due 
to other things, but lets assume that's the problem for the sake of 
discussion).  What I'm trying to understand is:

1. Will this only manifest itself during a recovery or will I get a similar 
error if I try to update a stale block using SQL?
2. Given I used the same backup but terminated the recovery earlier, presumably 
the stale block is still there, I just avoiding applying recovery to it.   Do I 
now have a "bad" database? - should I exp/imp?  DBV shows nothing amiss but 
presumably these will not be seen as logical corruptions as the blocks are 
simply old, not badly formed.         
3. I see 11g can detect lost writes in conjunction with a standby.  Is there 
anything I can do on stand-alone 10g?  I'm now very paranoid I'll get the same 
thing in production and really loose data.



Other related posts: