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: freelists

Re: freelists

From: <Graeme.Farmer_at_mincom.com>
Date: Fri, 5 Nov 2004 10:24:18 +1000
Message-ID: <OF03AEFA60.55F00ACE-ON4A256F43.00021E76-4A256F43.000239EE@mincom.com>


When freelists is greater than 1, sessions are allocated to segment/process freelists based on a hash function and hash functions generally give more even spread (avoid collisions) when the hash table size is a prime number.
The hash function in this case is based on the session id of the connecting user. (mod(SID,FREELISTS)+1).

eg SID=10, FREELISTS=3, HASH = mod(10,3)+1 = 1+1 = 2

Oracle appears to allocate SIDs by choosing the "Least Recently Used" SID or allocating them sequentially if there are no "second hand" SIDs so to speak. I don't believe this combination of allocation mechanism along with the hashing function would be particularly susceptible to collisions, however it is usually safer to stick to prime numbers for most hash tables.

Of course, your need for configuring freelists in the first place should be well justified and evidenced.

Graeme

oracle-l-bounce_at_freelists.org wrote on 04/11/2004 03:23:11 AM:

> List,
>
> I have read that freelist must be a n even number like 1,2,3,5,7 etc
> my question is what happen if you define freelist = 4, some thing
> wrong or what?
> any idea?
>
> Thanks,
> --
> http://www.freelists.org/webpage/oracle-l

-- 
This transmission is for the intended addressee only and is confidential information. If you have received this transmission in error, please notify the sender and delete the transmission. The contents of this e-mail are the opinion of the writer only and are not endorsed by the Mincom Group of companies unless expressly stated otherwise.



--
http://www.freelists.org/webpage/oracle-l
Received on Thu Nov 04 2004 - 18:20:31 CST

Original text of this message

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