Puoi farlo (funziona per le versioni 12c o successive):
alter table your_table add id number generated always as identity;
Tuttavia, questo genera anche nuovi valori per la colonna, per inserimenti futuri.
Anche su total row number , questo dovrebbe quasi sempre generare valori da 1 a "numero riga totale", ma comunque (non so esattamente, quando potrebbe funzionare in modo errato), per verificarlo, dopo alter puoi fare:select count(*), max(id) from your_table . i valori devono corrispondere.