Re: freelists

  • From: Graeme.Farmer@xxxxxxxxxx
  • To: alavihamid@xxxxxxxxx
  • Date: Fri, 5 Nov 2004 10:24:18 +1000

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@xxxxxxxxxxxxx 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,
> --
> //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.



--
//www.freelists.org/webpage/oracle-l

Other related posts: