Debería poder usar row_number()
(que es una función de ventana
) para asignar el "iterador" que desee. Esto creará un número secuencial para cada fila:
select *
from
(
select col,
row_number() over(order by col) rn
from yourtable
) src
order by random()
Consulte SQL Fiddle con demostración