RE: Expanding a table

From: Paul Houghton <>
Date: Thu, 21 Dec 2017 12:36:39 +0000
Message-ID: <>

Thanks, that is exactly what I want.

From: Harel Safra [] Sent: 21 December 2017 12:14
To: Paul Houghton <> Cc: Oracle-L Freelists <> Subject: Re: Expanding a table

You can allocate an empty extent with alter table allocate extent: allocate_extent_clause

Use the allocate_extent_clause to explicitly allocate a new extent for the table, the partition or subpartition, the overflow data segment, the LOB data segment, or the LOB index.


On Thu, Dec 21, 2017 at 2:05 PM, Paul Houghton <<>> wrote: We are finding ourselves in a situation where a number of sessions conflict on HW Contention (50 minutes per hour) on a number of tables.

This is a data conversion running in parallel. The problem stems from a decision to use APIs designed for interactive programs, so we have a slow row by row conversion which we are attempting to speed up by running it in parallel. I can't change this decision - I tried!.

I suspect if the table were created at the correct size to start with this would no longer be an option.

Unfortunately the tables are created by an application (PeopleSoft) which doesn't allow the initial extent to be specified per table. You can't change the initial extent once the table has been created, even if the segment hasn't been created (We have deferred segment creation).

I am thinking I need to try to do something clever with dbms_metadata.get_ddl to get the definitions, alter them, then drop and recreate the tables.

Can you think of another (easier) way to increase the size of a tables? There are hundreds of them, so I don't really want to insert loads of rows then delete them.



-- Received on Thu Dec 21 2017 - 13:36:39 CET

Original text of this message