U kunt een niet-unieke index niet omzetten in een unieke index.
(Het is moeilijk te zeggen wat niet kan. Ik baseer dit antwoord op het bekijken van de WIJZIG INDEX pagina van de SQL Language Reference, zoeken naar het woord UNIQUE en geen relevante hints vinden. Ik heb gekeken naar 11g in plaats van 10g, maar dat is in dit geval waarschijnlijk beter omdat er een paar functies zijn die in 10g bestaan, maar alleen zijn gedocumenteerd in 11g.)
U kunt echter een niet-unieke index gebruiken voor een unieke beperking. Maar er zijn enkele prestatieoverwegingen :een unieke index zou kleiner en sneller zijn.
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;