Hi,
I just want to know whether a different segment will be allocated for every object(like table,view, trigger, index)
or it's only the extents which will be created for these.
Segments are assigned to Tables, Indexes, Clusters. There are also rollback and temp segments however views, triggers, sequences will not have any segments assigned to it.
In Oracle ,everything is stored in blocks.An extent is a set of contignous blocks allocated for a database object.A segment is a collection of all the extents allocated for a database object.
So when u create any object in Oracle such as a table,index,rollback segment.For each of these a segment is created.
When u create a table,a data segment will be created to store the table data.When u create a index,an index segment will be created to store the index values.When u create a rollback segment ,a rollback segment will be created to store the undo data.
The segment name is the same as the table name or index name.So when u create a table named emp ,an emp segment gets created to store the data of emp table,U can verify it through dba_segments table.
So a segment will contain all the extents which are allocated for a database object.This segments get created through ur storage paremeters of ur table or index or rollback segment
If u have more doubts in this please mail me to rohitsn@hotmail.com
Bookmarks