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

Home -> Community -> Mailing Lists -> Oracle-L -> Re: Automatic Segment Space Management

Re: Automatic Segment Space Management

From: Jonathan Lewis <jonathan_at_jlcomp.demon.co.uk>
Date: Wed, 19 Feb 2003 13:05:07 -0800
Message-ID: <F001.00551FF6.20030219130507@fatcity.com>

It only takes two truly concurrent updates on a block to produce a BBW - only one actual current block change can take place at a time. However, the sequence of events would probably be something like:

    Session 1: pin block exclusively
    Sessions 2 - 6: join waiter list - into BBW     Session 1: update block, release block pin     Session 2: out of BBW - pin block exclusively     Sessions 3 - 6: still waiting in BBW

        and so on.

It might be quite hard to prove this though, as the high precision concurrency might be hard to achieve. (Perhaps you could fake it through discrete transactions). In practice, you might find that you got very rapid serialisation of updates most of the time, which could allow the pattern to be more like:

    Session 1: pin block, update and release     Session 2: clone block to CU, change prior copy to CR

                        pin clone, update and release
    Session 3: repeat.
which would leave a chain of CR copies of the same block.

The limit on CR blocks is a pretty soft limit - I believe its purpose is to keep to a minimum the time that the cache buffers chains latch for a given block is held as the chain is searched. It is still possible, however, for processes that NEED a CR block simply to grab the most
appropriate one (i.e. legal and furthest back in time) and clone it to a new one. (You've reminded me that I still have to write a reply to Gerald Cunningham about his 160+ CR copies of numerous blocks in the buffer - sorry about the delay, Gerald).

I believe that there are points in time that Oracle will 'new' (aka 'free') a buffer if it finds that there are too many copies - but I haven't proved that this is true, or figured out when it would do it. Of course, it would arguably make sense to do it, as 'free' blocks are used preferentially as the target for physical reads - so wiping the Nth CR copy of a block probably makes more sense than dumping a block with only a few recent clones.

BTW - if there were

Regards

Jonathan Lewis
http://www.jlcomp.demon.co.uk

Coming soon one-day tutorials:
Cost Based Optimisation
Trouble-shooting and Tuning
Indexing Strategies
(see http://www.jlcomp.demon.co.uk/tutorial.html )

____UK_______March 19th
____USA_(FL)_May 2nd

Next Seminar dates:
(see http://www.jlcomp.demon.co.uk/seminar.html )

____USA_(CA, TX)_August

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

-----Original Message-----
To: Multiple recipients of list ORACLE-L <ORACLE-L_at_fatcity.com> Date: 19 February 2003 20:07

>Arup,
>
>Just picking up the thread on the BBWs. (Btw, I asked this question
in this
>list - never got an answer!) The following undocumented parameter
limits the
>numbe of CR copies in the Block buffers.
>
>Name Value
>--------------------------------------------- -----------------------



>Description
>---------------------------------------------------------------------


>---
>_db_block_max_cr_dba 6
>Maximum Allowed Number of CR buffers per dba
>
>What if there are more than 6 concurrent update requests for the same
block.
>Would that not result in BBW?
>
>John Kanagaraj
>Oracle Applications DBA
>DBSoft Inc
>(W): 408-970-7002
>
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Jonathan Lewis
  INET: jonathan_at_jlcomp.demon.co.uk

Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: ListGuru_at_fatcity.com (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 Feb 19 2003 - 15:05:07 CST

Original text of this message

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