Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Mailing Lists -> Oracle-L -> Re: Lots and lots of redo logs

Re: Lots and lots of redo logs

From: Jonathan Lewis <>
Date: Wed, 19 Sep 2001 02:16:25 -0700
Message-ID: <>

I guess this test was in response to a claim that

  'you have to put your log files on the   inner/outer/middle section of the disc   for best response time.'

I think this demonstrates that there are never any easy answers - and rarely any conclusive tests other than real-life.

One thing you might want to check is whether the average 'redo write size' increases as the writes move through the redo logs (in the second case). You MIGHT be demonstrating that the original hypothesis is true, you MIGHT be demonstrating that in this case LGWR becomes self-balancing - as the disc access speed increases because it buffers more data and does bigger writes, so that the slower seek time is hidden by a side-effect of a larger write.

BTW - this is not a fair test of normal OLTP activity - some experiments I've been doing recently suggest that inside a PL/SQL loop the COMMIT does not cause a log file sync - if you check your

    redo synch writes

    redo writes
statistics, you may find that redo synch writes is extremely small (possibly 1, possibly 1 per log file) and you redo writes will almost certainly be less than the 15,000,000 commits you issued.

I'm still working on the 'commit is not a sync' thing, but it really does seem that in pl/sql a 'commit is complete' BEFORE lgwr has written to disc.

Jonathan Lewis

Host to The Co-Operative Oracle Users' FAQ

Author of:
Practical Oracle 8i: Building Efficient Databases

Screen saver or Life saver: Use spare CPU to assist in cancer research.

-----Original Message-----
To: Multiple recipients of list ORACLE-L <> Date: 18 September 2001 23:11

|Out of curiosity and as a test I scrubbed my 16Mb RAID1 array and set
it up
|again with 5 x 50Mb redo groups. I ran the following script to
|lots of redo:
| for i in 1..15000000 loop
| insert into test_table values (mod(i,10));
| delete from test_table where anumber =
| commit;
| end loop;
|ARCHIVELOG mode was on and the archive destination (on another disk)
|initially empty.
|There were 239 log switches and the test completed in 2 hours 56
|I then added a further 250 50Mb redo groups, cleared the archive
|destination and ran the test again. Again it completed in exactly 2
|56 minutes, this time 240 log switches (difference of 1, I guess due
|whereabouts in the first log it was when the test started).
|v$session_wait shows permanent "log file parallel write" for LGWR
while the
|test runs.
|Any suggestions why I failed to see any slow down when I (almost)
|the disk with redo groups? (This server wasn't doing anything else
and the
|time of the test). The RAID1 array had a Linux ext2 filesystem on it
and I
|had disabled the write cache.

Please see the official ORACLE-L FAQ:
Author: Jonathan Lewis

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
To REMOVE yourself from this mailing list, send an E-Mail message
to: (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).
Received on Wed Sep 19 2001 - 04:16:25 CDT

Original text of this message