Du kan ikke konvertere et ikke-unikt indeks til et unikt indeks.
(Det er svært at sige, hvad der ikke kan gøres. Jeg baserer dette svar på at se på ÆNDRINGSINDEKS siden i SQL Language Reference, søger efter ordet UNIQUE, og finder ingen relevante tip. Jeg kiggede på 11g i stedet for 10g, men det er nok bedre i dette tilfælde, fordi der er nogle få funktioner, der findes i 10g, men som kun er dokumenteret i 11g.)
Du kan dog bruge et ikke-unik indeks til en unik begrænsning. Men der er nogle ydelsesovervejelser :et unikt indeks ville være mindre og hurtigere.
create table my_table(a number);
create index my_table_index on my_table(a);
alter table my_table add constraint my_table_unique unique (a)
using index my_table_index;