Re: Flashback log file sync

From: Mladen Gogala <gogala.mladen_at_gmail.com>
Date: Sat, 12 May 2012 21:10:26 +0000 (UTC)
Message-ID: <pan.2012.05.12.21.10.26_at_gmail.com>



On Sat, 12 May 2012 23:41:21 +1000, Noons wrote:

> No, flashback can't possibly, ever, cause a performance hit under
> typical DW process loads!... Ah well, how "bad dba" of me to actually
> care about performance instead of features. What can I say.

Flashback records almost identical information as redo. The main difference between the two is that redo logs are not supposed to be read, except in case of instance recovery. Redo logs are the main mechanism that provides the "D" in ACID.
Flashback logs, just like their redo counterparts, record change vectors, in order to be able to reconstruct the data, up to specific point in time. The default is 24 hours, controlled by the "db_flashback_retention_target" parameter. If the block being changed is in SGA, that is being done by a background process named "FBDA". If the block is not in the SGA, as in the case when LOB column is created with "NOCACHE" option, that must be done synchronously, by invoking a library function, because background processes cannot access PGA of another session. In other words, one must wait for flashback information to be written. When doing a direct load with NOLOGGING clause in effect, one avoids waiting for the redo to be written to disk but it doesn't avoid flashback.

-- 
http://mgogala.byethost5.com
Received on Sat May 12 2012 - 16:10:26 CDT

Original text of this message