free list [message #59851] |
Mon, 29 December 2003 21:53 |
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 |
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 |
Frank Naude
Messages: 4587 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 |
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 |
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
|
|
|
|
|