Nie można przekonwertować nieunikatowego indeksu na unikalny indeks.
(Trudno powiedzieć, czego nie można zrobić. Odpowiedź tę opieram na spojrzeniu na ZMIEŃ INDEKS strony SQL Language Reference, wyszukując słowo UNIQUE i nie znajdując żadnych odpowiednich wskazówek. Spojrzałem na 11g zamiast 10g, ale w tym przypadku jest to prawdopodobnie lepsze, ponieważ jest kilka funkcji, które istnieją w 10g, ale są udokumentowane tylko w 11g.)
Możesz jednak użyć nieunikatowego indeksu dla ograniczenia unikatowego. Ale są pewne Uwagi dotyczące wydajności :unikalny indeks byłby mniejszy i szybszy.
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;