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

Home -> Community -> Usenet -> c.d.o.server -> Re: help: how do you rename a primary key

Re: help: how do you rename a primary key

From: Trifon Anguelov <trifona_at_pacbell.net>
Date: Sat, 13 Apr 2002 03:28:08 GMT
Message-ID: <cBNt8.4216$ov6.2205392024@newssvr14.news.prodigy.com>


Joe,

Once you drop the constraint the unique index is dropped in the same time. This way Oracle unsures that no orphrant indexes are left behind. As far as I know there is no way around it.

However, you can speed up the constaint and index rebuild. There is a solution to your problem on the latest Oracle DBA forums: http://www.dbaclick.com/cgi-bin/ib3/ikonboard.cgi?s=3cb72b672158ffff;act=ST; f=20;t=129;hl=primary+key

It explains how to rebuild a primary key and the unique index in parallel.

Hope that helps,

Trifon Anguelov
Senior Oracle DBA

http://www.dbaclick.com



"Joe Sath" <dbadba62_at_hotmail.com> wrote in message news:2GLt8.4323$8W5.1339_at_nwrddc02.gnilink.net...
> OK,
> I take your guys' advice, not to change any data dictionary.
> But rebuild the parmary key using index take so long, sometime 28 minutes
>
> Whenever you drop the primary key, the unique index associated with it
also
> got dropped.
>
> Is there any way we can only drop the constraint, w/o dropping the unique
> index with it on the same column?
>
> Thanks again for so many response.
>
>
> >Horrible advice. Drop it and recreate it from scratch.
>
> >I would terminate anyone reporting to me that made a >change to a
> dictionary
> >object.
>
> >Then again ... I wouldn't give them privileges that >allowed them to do
it
> so
> >their jobs are pretty safe.
>
> ?Daniel Morgan
>
>
>
> Paul Brewer wrote:
>
> > "Svend Jensen" <Svend_at_OracleCare.Com> wrote in message
> > news:3CB5D01F.80904_at_OracleCare.Com...
> > > Joe Sath wrote:
> > >
> > > > Hi, Folks
> > > >
> > > > I need to rename a primary key with a unick index. The table is big,
> if
> > I
> > > > drop the primary key and then rebuild it with "using index", it will
> > take a
> > > > while.
> > > >
> > > > Is there any way we can just rename it like we rename a index?
> > > >
> > > > Thanks for your help.
> > > >
> > > >
> > > >
> > >
> > > Yes, log in as sys, update con$ set name = new_name
> > > where con# = (select con# from con$
> > > where owner = 'constraint_owner'
> > > name = 'old_name')
> > >
> > > There is a unique index i_con2 on con$ (con#)
> > > and a unique index i_con1 on (owner, name)
> > >
> > > These cant be rebuild, they are part of instance warmstart, as you can
> > > se from bootstrap$
> > >
> > > I have used this method on 8.1.7 without any negative impact. But only
> > > if the need is there and no other solution could be applied while
> > > 'business as usual' was ongoing.
> > >
> > > rgds
> > >
> > > /svend
> > >
> > This is bad advice.
> >
> > Paul
>
>
>
Received on Fri Apr 12 2002 - 22:28:08 CDT

Original text of this message

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