Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: DBMS Failure Issue

Re: DBMS Failure Issue

From: DA Morgan <damorgan_at_psoug.org>
Date: Sat, 12 Nov 2005 13:56:18 -0800
Message-ID: <1131832654.679899@yasure>


Michel Cadot wrote:
> "Leigh Williams" <leighwilliams_at_gmail.com> a écrit dans le message de news: 1131807109.852054.259830_at_g44g2000cwa.googlegroups.com...
> | The logwriter writes to the logfile on disk, so it must accumulate a
> | block of log records before flushing to the log file. Suppose a
> | transaction commits, but the commit record flushing is delayed by the
> | log writer waiting to fill a block. What would happen to the
> | transaction if DBMS failure occured while waiting for its commit record
> | to be flushed? Would it simply be a case of a transaction undo in
> | recovery?
> |
>
> When a session commits it write a commit marker in the log buffer and
> signals LGWR to flush the log buffer onto disk *without* waiting the block to be filled.
> Then the session waits on the "log file sync" event till the block is on the disk.
> This leads in waste in the log block and you can see the amont of this wastage
> in the "redo wastage" statistics.
>
> Regards
> Michel Cadot

Given that Oracle has expanded COMMIT with options such as WRITE BATCH, NOWAIT, etc. I would like to suggest that we become a bit more careful about describing what COMMIT does and does not do. It is now version specific and depending upon which form of COMMIT is issued.

-- 
Daniel A. Morgan
http://www.psoug.org
damorgan_at_x.washington.edu
(replace x with u to respond)
Received on Sat Nov 12 2005 - 15:56:18 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US