While creating tablespace is there any difference in creating it using default dictionary management and by creating tablespace using local management mode provided both have same size, place of storage and so on. If so what is the difference?
Printable View
While creating tablespace is there any difference in creating it using default dictionary management and by creating tablespace using local management mode provided both have same size, place of storage and so on. If so what is the difference?
Hi,
Since there is no response for this post for a long time, I thought of replying for the above query regarding tablespace.
When Oracle allocates space to a segment (like a table or index), a group of contiguous free blocks, called an [B]extent[/B], is added to the segment.
[B]Considering the extent allocation, the tablespace is created with Default dictionary tablespace or Locally managed tablespace.[/B]
These are the two different methods for Oracle to keep track of free and allocated extents.
Tablespaces that record extent allocation in the dictionary, are called [B]Dictionary managed Tablespaces[/B]
Oracle uses the data dictionary (tables in the SYS schema) to track allocated and free extents for tablespaces that is in "dictionary managed" mode.
Tablespaces that record extent allocation in the tablespace header, are called [B]Locally managed Tablespaces.[/B]
In Locally managed tablespace, each tablespace manages it's own free and used space within a bitmap structure stored in one of the tablespace's data files.
Each bit within this bitmap determines if a corresponding extent in the tablespace is free or used.
There are two main [B]advantages of Locally managed tablespaces:[/B]
1. Recursive Space Management is avoided
2. Adjacent free space is automatically coalesced.
Hopefully its clear :-)
If we use dictionary manage table space it's increase our recursive space management. and extra burden on data_dictionary tables.