Re: Lost Writes

From: Robert Freeman <>
Date: Thu, 6 Aug 2009 09:26:57 -0700 (PDT)
Message-ID: <>

RMAN should detect a corrupt block during a backup and report it. Of course, if the block is not in use then it would not be an issue. Did you try a backup validate check logical database from RMAN? Did you check v$backup_corruption or v$database_block_corruption to see if anything was present in that view ? The corrupt blocks you had, were they actually in use? Or allocated and not assigned to any objects? Did you try to repair the block?


 Robert G. Freeman
Oracle ACE
Oracle Database 11g RMAN Backup and Recovery (Oracle Press) - ON IT'S WAY SOON! OCP: Oracle Database 11g Administrator Certified Professional Study Guide (Sybex) Oracle Database 11g New Features (Oracle Press) Portable DBA: Oracle (Oracle Press)
Oracle Database 10g New Features (Oracle Press) Oracle9i RMAN Backup and Recovery (Oracle Press) Oracle9i New Features (Oracle Press)
Other various titles out of print now... Blog: The LDS Church is looking for DBA's. You do have to be a Church member in good standing. A lot of kind people write me, concerned I may be breaking the law by saying you have to be a Church member. It's legal I promise! :-)

  • Original Message ---- From: "Goulet, Richard" <> To:; Sent: Thursday, August 6, 2009 9:25:46 AM Subject: RE: Lost Writes


    Best idea in this case is to check that all of your data is available and the best way that I know of to do that is to do an exp full=yes to /dev/null. If that finishes cleanly then your 99% sure that everything is alright. After that I would take another backup.

Dick Goulet
Senior Oracle DBA
PAREXEL International

-----Original Message-----

From: [] On Behalf Of Charlotte Hammond Sent: Wednesday, August 05, 2009 5:29 PM To:
Subject: Lost Writes

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.



-- Received on Thu Aug 06 2009 - 11:26:57 CDT

Original text of this message