Puede hacer esto (funciona para las versiones 12c o posteriores):
alter table your_table add id number generated always as identity;
Sin embargo, esto también genera nuevos valores para la columna, para futuras inserciones.
También sobre total row number
, esto casi siempre debería generar valores de 1 a "número total de fila", pero de todos modos (no sé exactamente, cuándo esto puede funcionar incorrectamente), verifique esto, después de alter
puedes hacer:select count(*), max(id) from your_table
. los valores deben coincidir.