Home » RDBMS Server » Server Administration » free list
free list [message #59851] Mon, 29 December 2003 21:53 Go to next message
ashokmote
Messages: 56
Registered: December 2003
Member
i want to know the purpose of the free list.
generally wat it contains.can we have more free list for one segment.if yes wat the use of making more free list.wat the use of the free list
Re: free list [message #59852 is a reply to message #59851] Mon, 29 December 2003 23:06 Go to previous messageGo to next message
Daljit Singh
Messages: 290
Registered: October 2003
Location: Texas
Senior Member
Hi,

Freelist basically contain information about all the free blocks available for a segment. You can think it as a list of block of address which we can use to insert/update data in a particular segment to which that freelist belongs.

Yes, we can have more than one freelist for a segment.But you can't add freelist after creating the segment. If you want to increase/decrease the freelists for any segment then u have to recreate it with appropriate FREELIST parameter.

More freelist basically is used to handle the free blocks information in different parts. Suppose you have 500 free blocks for a segment and that segment has only one freelist then all these blocks will be listed in on list and if anybody want to access any free block then he has to scan the freelist, which may be in access period by any other session. So if you have multiple freelists then no contenction will occur.

I hope it will help you. But for detail info refer oracle doc.
Re: free list [message #59853 is a reply to message #59851] Mon, 29 December 2003 23:25 Go to previous messageGo to next message
Frank Naude
Messages: 4580
Registered: April 1998
Senior Member
Hi,

When records are inserted into a table, Oracle examines the freelist to determine which data blocks have available storage space that can be used to store the new rows.

You can increase the number of freelists by re-creating your tables. E.g:
CREATE TABLE tab1 ... STORAGE (... FREELISTS 10 ...);


However, if you use Automatic Segment Space Management (bitmap managed segments), you don't need freelists anymore (nor pctused and freelist groups). This feature was introduced with Oracle 9i.

Automatic Segment Space Management (ASSM) improves the performance of concurrent DML operations significantly since different parts of the bitmap can be used simultaneously, eliminating serialization for free space lookups against the FREELSITS.

To enable ASSM, you need to re-create your tablespaces:
CREATE TABLESPACE ... 
      SEGMENT SPACE MANAGEMENT AUTO;


Best regards.

Frank
Re: free list [message #59855 is a reply to message #59852] Tue, 30 December 2003 02:14 Go to previous messageGo to next message
ashokmote
Messages: 56
Registered: December 2003
Member
thanks for valuable suggestions. i need one more information regarding the free list
where this free information is stored (in blocks or extents or segments).
Re: free list [message #59862 is a reply to message #59852] Tue, 30 December 2003 06:34 Go to previous messageGo to next message
Thiru
Messages: 1089
Registered: May 2002
Senior Member
" But you can't add freelist after creating the segment. If you want to increase/decrease the freelists for any segment then u have to recreate it with appropriate FREELIST parameter."

From 8.1.6 onwards you can modify FREELISTS without recreating or moving the segment.

-Thiru
Re: free list [message #59863 is a reply to message #59855] Tue, 30 December 2003 07:33 Go to previous messageGo to next message
Thiru
Messages: 1089
Registered: May 2002
Senior Member
segment header
Re: free list [message #59871 is a reply to message #59862] Tue, 30 December 2003 17:53 Go to previous message
Daljit Singh
Messages: 290
Registered: October 2003
Location: Texas
Senior Member
Hi,

Thanx Thiru.
Previous Topic: Stopping a listener that is password protected
Next Topic: What does an UNKNOWN state mean
Goto Forum:
  


Current Time: Fri Sep 20 10:46:14 CDT 2024