Re: split block (torn page) problem

From: Riyaj Shamsudeen <riyaj.shamsudeen_at_gmail.com>
Date: Thu, 8 Dec 2011 10:52:59 +0530
Message-ID: <CAA2DszwCK3zDsur8FEFd62pBANGpH-SNAfgUnkR79cQBjxTe_Q_at_mail.gmail.com>



Hi
  crash recovery applies redo records to roll forward the changes. If a modified block is not written yet to the disk, that is okay, as redo records from the log files can be used to replay the changes.   But, if the block is not written properly or fractured, then the crash recovery will raise corruption errors and can't correct the corruption.   In enterprise servers, server reboots does not cause any corruption
(usually). From oracle point of view, a buffer is filled with block image
and I/O submitted to the OS. If the OS splits the call in to smaller chunks
(say 4K) and writes with two atomic calls underneath the write system call
(and that first 4K chunk succeeded, second 4K chunk write did not succeed),
it is possible for the corruption to occur, but it is a corner case and you must be very unfortunate :-)
  With ASM, file system caching is not involved and write calls operate on devices. So, probability is much less with ASM. HTH Cheers

Riyaj Shamsudeen
Principal DBA,
Ora!nternals - http://www.orainternals.com - Specialists in Performance, RAC and EBS
Blog: http://orainternals.wordpress.com
OakTable member http://www.oaktable.com and Oracle ACE Director

Co-author of the books: Expert Oracle
Practices<http://tinyurl.com/book-expert-oracle-practices/>, Pro Oracle SQL, Expert PL/SQL
Practices<http://tinyurl.com/book-expert-plsql-practices>

--
http://www.freelists.org/webpage/oracle-l
Received on Wed Dec 07 2011 - 23:22:59 CST

Original text of this message