Re: Temporary space needed to create a constraint

  • From: David Fitzjarrell <oratune@xxxxxxxxx>
  • To: "mark.powell2@xxxxxx" <mark.powell2@xxxxxx>, oracle-l <oracle-l@xxxxxxxxxxxxx>
  • Date: Tue, 10 Jul 2012 13:31:21 -0700 (PDT)

Which is exactly what he's done -- the constraint creation runs out of temp 
space even though no index is being created.  The sort segment outgrows the 
available temp space and then errors out.  I can guess that Oracle is ordering 
the keys to verify no duplicates exist before creating and enforcing the 
primary key, but I can't prove that on my small playground database.

David Fitzjarrell

From: "Powell, Mark" <mark.powell2@xxxxxx>
To: oracle-l <oracle-l@xxxxxxxxxxxxx> 
Sent: Tuesday, July 10, 2012 2:20 PM
Subject: RE: Temporary space needed to create a constraint

I do not know the answer to your question but to create the constraint I would 
try to create the index then alter the table to create the PK using the already 
built index.

-----Original Message-----
From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On 
Behalf Of Peter Hitchman
Sent: Tuesday, July 10, 2012 11:59 AM
To: oracle-l
Subject: Temporary space needed to create a constraint

Oracle Enterprise Edition:

I have a table with 1.8 billion rows, on which I created a non unique index and 
now I am trying to add in a primary key constraint using that index. But I keep 
running out of temporary space.
I assumed that the space needed to create the constraint would be the same as 
needed to create the index (which was around 160GB), but it appears that it 
needs double that.
I did a small test and found that the amount of temp space needed to create a 
PK in this circumstance was double that needed to create the index.

In my latest attempt I tried to uses a 1GB sort_area_size and it ran for longer 
but in the end exhausted alll the disk space I have.

Has anyone else experienced this and if so why does creating the constraint use 
so much more temp space than creating an index on the same columns?



Other related posts: