Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Partitioning Large *Existing* Table
There is no way you can get around the need to have two copies of the data somewhere at some time.
One option is simply
create table as select nologging
rename table
The biggest hassle, though is probably creating the indexes as local indexes with all the bits in the right tablespaces.
The reference below is a little note referencing a suggestion I made in my book about creating indexes on large partitioned objects - it may give you some ideas.
http://www.jlcomp.demon.co.uk/ch_13.html#Creating%20unusable%20indexes
-- Regards Jonathan Lewis http://www.jlcomp.demon.co.uk The Co-operative Oracle Users' FAQ http://www.jlcomp.demon.co.uk/faq/ind_faq.html April 2004 Iceland http://www.index.is/oracleday.php June 2004 UK - Optimising Oracle Seminar July 2004 USA West Coast, Optimising Oracle Seminar August 2004 Charlotte NC, Optimising Oracle Seminar September 2004 USA East Coast, Optimising Oracle Seminar September2004 UK - Optimising Oracle Seminar "SAP BASIS Consultant" <basis_consultant_at_hotmail.com> wrote in message news:dd2036f3.0404211228.1af00c36_at_posting.google.com...Received on Thu Apr 22 2004 - 10:51:38 CDT
> Hello,
>
> I have researched 8i+ partitioning, and I understand how to create a
> partitioned table. Thus, for the sake of this posting, suppose that I
> would like to create a table TDATE partitioned by range, my
> understanding (Unfortunately, I don't have access to an Oracle system
> now) is that I would issue a command such as the following:
>
> CREATE TABLE TDATE ..... PARTITION BY RANGE(DATE) (PARTITION
> F1 VALUES LESS THAN ('01-APR-2001', 'DD-MON-YYYY', PARTITION
> F10...));
>
> However, suppose that there is a large (Say 10GB or 20GB) table
> named TDATE which is not partitioned, and which I would like to
> partition.
>
> Would I have to go through a procedure such as backing up the TDATE
> and/or copying it to a temp. table, exporting its data, deleting
> TDATE, recreating TDATE as a partitioned table, and reimporting the
> data into TDATE, or is there is an easier way to partition an existing
> table?
>
>
>
> Thanks in Advance,
> SAP BASIS Consulant