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: DWBR and dirty buffers

Re: DWBR and dirty buffers

From: Jonathan Lewis <jonathan_at_jlcomp.demon.co.uk>
Date: Sat, 26 Feb 2005 09:09:53 +0000 (UTC)
Message-ID: <cvped1$lcg$1@sparta.btinternet.com>

Note in-line

-- 
Regards

Jonathan Lewis

http://www.jlcomp.demon.co.uk/faq/ind_faq.html
The Co-operative Oracle Users' FAQ

http://www.jlcomp.demon.co.uk/seminar.html
Public Appearances - schedule updated Jan 21st 2005






"Radoslav Rusinov" <radoslav.rusinov_at_gmail.com> wrote in message 
news:58aa0927.0502250359.6e90b578_at_posting.google.com...

> "Jonathan Lewis" <jonathan_at_jlcomp.demon.co.uk> wrote in message
> news:<cvmiji$c84$1_at_hercules.btinternet.com>...
>> Don't forget to allow time for the checkpoints
>> to complete, otherwise blocks that are due to
>> be written for the checkpoint still be reported
>> as dirty.
> Yes, I try but the result still the same even after 10 minutes on an
> idle database.
> -- 1. create table, inserting 600 000 rows and COMMIT
> -- 2. force checkpoint
> SQL> alter system checkpoint;
> System altered
> Executed in 2.266 seconds
>
> -- 3. checking dirty block by status
> SQL> SELECT status,COUNT(*) DIRTYBLKS FROM v$bh WHERE dirty='Y' and
> objd=39419
> 2 GROUP BY status;
> STATUS DIRTYBLKS
> ------ ----------
> xcur 3400
>
> Executed in 0.063 seconds
>
> -- after 10 minutes
> SQL> SELECT status,COUNT(*) DIRTYBLKS FROM v$bh WHERE dirty='Y' and
> objd=39419
> 2 GROUP BY status;
> STATUS DIRTYBLKS
> ------ ----------
> xcur 3400
>
> Executed in 0.078 seconds
>
Interesting - possibly 'alter system checkpoint' has changed it's meaning to match the concept of the running checkpoing: i.e. don't clean the buffer, completely only it up to the limit set by the checkpoint_timeout/MTTR settings. (I doubt this is would be true, but it's possible). Do you get the same if you use switch logfile instead of checkpoint ?
>> You may find that a few blocks seem to stay as
>> xcur - check the objd (data object id) for these,
>> it will probably be about 4 billion - meaning it's
>> from a rollback segment.
> Is this meant that these 3400 blocks are for rolback segments. They
> should keep pre-imaged data for this object and because that these
> blocks belongs to the same object.
Your 3400 blocks are from the table, as you selected them by objd (39419). The reference to rollbacks is there because no database is completely idle due to background processing, so there are always a few changes going on that manage to keep making a few rollback blocks dirty. Rollback blocks have objd of around 4 billion in v$bh
Received on Sat Feb 26 2005 - 03:09:53 CST

Original text of this message

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