Re: split block (torn page) problem

From: <Laimutis.Nedzinskas_at_seb.lt>
Date: Thu, 8 Dec 2011 12:40:26 +0200
Message-ID: <OF408DA8DA.DD5752D5-ONC2257960.0039F15D-C2257960.003AA293_at_seb.lt>



>but it is a corner case and you must be very unfortunate :-)

True. One often forgets that striving for purism has no sence. Database claims to be ACID but in reality it has some exceptions. It does not mean it is a bad database if such exceptions, corner cases are statistically rare. One must concern himself about much more commonn issues. Application bugs to name one.

It's only good to know those exceptions and account for them. Let's say oracle has a crash-recovery. It's all right as long as one is informed what crash recovery can do and what it can't.

Brgds, Laimis


Please consider the environment before printing this e-mail

                                                                                                                                               
  From:       Riyaj Shamsudeen <riyaj.shamsudeen_at_gmail.com>                                                                                    
                                                                                                                                               
  To:         Laimutis.Nedzinskas_at_seb.lt                                                                                                       
                                                                                                                                               
  Cc:         ORACLE-L <oracle-l_at_freelists.org>                                                                                                
                                                                                                                                               
  Date:       2011.12.08 07:24                                                                                                                 
                                                                                                                                               
  Subject:    Re: split block (torn page) problem                                                                                              
                                                                                                                                               





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





--
http://www.freelists.org/webpage/oracle-l
Received on Thu Dec 08 2011 - 04:40:26 CST

Original text of this message