Re: split block (torn page) problem

>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@xxxxxxxxx>                     
                                                               
                                                                                
                                                               
  To:         Laimutis.Nedzinskas@xxxxxx                                        
                                                               
                                                                                
                                                               
  Cc:         ORACLE-L <oracle-l@xxxxxxxxxxxxx>                                 
                                                               
                                                                                
                                                               
  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


Other related posts: