Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> RE: Can I partition my primary key constraint index?

RE: Can I partition my primary key constraint index?

From: <Cherie_Machler_at_gelco.com>
Date: Mon, 14 May 2001 10:28:41 -0700
Message-ID: <F001.00302CC9.20010514103855@fatcity.com>

Kevin,

Thanks for your comments.

I already have the existing (non-partitioned) index out there. Is there any way to "convert" this to a locally partitioned index? I see ways to split existing partitioned indexes into additional partitions but I don't see any documentation on changing a regular index into paritioned index. It's quite large and cumbersome so I hate to just drop it and recreate it.

Isn't a local index by definition equipartitioned against the base table? I don't have to intentionally do anything to have that happen except place the LOCAL clause in the CREATE INDEX command, right?

Under what cirmcumstances might Oracle not be able to use the existing index when I add the primary key constraint?

Thanks,

Cherie

                                                                                       
                           
                    "Toepke, Kevin                                                     
                           
                    M"                     To:     Multiple recipients of list 
ORACLE-L <ORACLE-L_at_fatcity.com>    
                    <ktoepke_at_cms.ce        cc:                                         
                           
                    ndant.com>             Subject:     RE: Can I partition my primary 
key constraint index?      
                    Sent by:                                                           
                           
                    root_at_fatcity.co                                                    
                           
                    m                                                                  
                           
                                                                                       
                           
                                                                                       
                           
                    05/14/01 12:36                                                     
                           
                    PM                                                                 
                           
                    Please respond                                                     
                           
                    to ORACLE-L                                                        
                           
                                                                                       
                           
                                                                                       
                           




Ok, I'll jump in here 'cause I may be able to simplify the issue.

Starting with Oracle 8, you can create a Primary Key that uses an existing index. This makes the administration stuff easier. You can create your own locally partitioned unique index (using regular CREATE INDEX syntax).

Once the index is created, you can create the PK (ALTER TABLE x ADD CONSTRAINT y PRIMARY KEY (z);). The existing index will be used if Oracle can use it.

This works with partitioned tables as long as the PK index is equipartitioned with the base table.

Kevin

-----Original Message-----

Sent: Monday, May 14, 2001 10:17 AM
To: Multiple recipients of list ORACLE-L

Diana,

Can I build the initial local primary key index using the storage and tablespace clause to place the index in the correct index tablespace to begin with. This index is multiple gigs and my database is tight on space right now. I'm not sure that I have enough room to put the index in the data tablespace and then move it to the appropriate index partition tablespaces?

Do you put each of your primary key index partitions in a separate tablespace?

The last DBA put all of our indexes into three tablespaces (small, medium, large) which doesn't work very well when you go to get rid of a partition.

Thanks,

Cherie

                    Diana_Duncan_at_ttpa

                    rtners.com               To:     Multiple recipients of
list ORACLE-L <ORACLE-L_at_fatcity.com>
                    Sent by:                 cc:

                    root_at_fatcity.com         Subject:     Re: Can I
partition my primary key constraint index?
                    05/13/01 02:55 PM

                    Please respond to

                    ORACLE-L










Yes, Cherie, you can. When creating the primary key constraint, use the "USING INDEX" clause to specify any storage parameters you want for the automatically created primary key index. I always use the clause, because I am a picky DBA and I want my indices in their own tablespace and with their own storage parameters. Also, if you specify that the index is LOCAL, the partitioning will follow the same algorithm as the table. Unfortunately, if you do LOCAL, the index partitions will automatically be placed in the same tablespace as the table, but you can "move" the partitions if you wish.

HTH, Diana Duncan
TITAN Technology Partners
One Copley Parkway, Ste 540
Morrisville, NC 27560
VM: 919.466.7337 x 316
F: 919.466.7427
E: Diana_Duncan_at_ttpartners.com

                    Cherie_Machler

                    @gelco.com            To:     Multiple recipients of
list ORACLE-L <ORACLE-L_at_fatcity.com>
                    Sent by:              cc:

                    root_at_fatcity.c        Fax to:

                    om                    Subject:     Can I partition my
primary key constraint index?
                    05/11/2001

                    04:51 PM

                    Please respond

                    to ORACLE-L








Oracle will automatically create an index for your primary key constraint.

I have a lot of large partitioned tables in my data warehouse. All of my primary key indexes are non-partitioned. I would like them to be partitioned.

When I drop the constraint and re-enable it, can I specify at that time that I want the index to be partitioned? Or do I need to drop my index and rebuild it to be partitioned after the fact?

Is there any problem with having partitioned primary key indexes?

Thanks,

Cherie

--

Please see the official ORACLE-L FAQ: http://www.orafaq.com
--

Author:
  INET: Diana_Duncan_at_ttpartners.com

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists

--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).

--

Please see the official ORACLE-L FAQ: http://www.orafaq.com
--

Author:
  INET: Cherie_Machler_at_gelco.com

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists

--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).
--

Please see the official ORACLE-L FAQ: http://www.orafaq.com
--

Author: Toepke, Kevin M
  INET: ktoepke_at_cms.cendant.com
Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists

--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).

--

Please see the official ORACLE-L FAQ: http://www.orafaq.com
--

Author:
  INET: Cherie_Machler_at_gelco.com

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists

--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing). Received on Mon May 14 2001 - 12:28:41 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US