¿Algo así?
select t.*, round(dbms_random.value() * 8) + 1 from foo t;
Editar:David ha señalado que esto da una distribución desigual para 1 y 9.
Como él señala, lo siguiente da una mejor distribución:
select t.*, floor(dbms_random.value(1, 10)) from foo t;