Re: How SEG$ is updated in DMS

  • From: Niall Litchfield <niall.litchfield@xxxxxxxxx>
  • To: hkchital@xxxxxxxxxxxxxx
  • Date: Tue, 1 Feb 2005 09:17:17 +0000

On Tue, 01 Feb 2005 11:12:22 +0800, Hemant K Chitale
<hkchital@xxxxxxxxxxxxxx> wrote:
> 
> While running a large CREATE INDEX using a Tablespace Temporary which is
> Dictionary Managed,
<snip sql>
> At this stage, it is still creating the Temporary Segment.  Why does it have
> to update ALL the columns of SEG$
> for each Extent being allocated ?  No wonder that DMS Temporary Tablespaces
> are called "slow".

I don't believe that it is *creating* the temporary segment, I believe
that it is *allocating* extents for use during the sort. (it could of
course be allocating extents to the index itself - one would need to
see the values of the binds).

That is my understanding of the *temp* usage during this operation is

1. create temp segment (at min size)
2. use temp segment as required to sort data - this may involve new
extent creation/allocation
3. mark extents reusable after use. 



-- 
Niall Litchfield
Oracle DBA
http://www.niall.litchfield.dial.pipex.com
--
//www.freelists.org/webpage/oracle-l

Other related posts: