A little plsql should suffice
SQL> declare
  2    type ridlist is table of rowid index by pls_integer;
  3    l_rowid ridlist;
  4  begin
  5    select rowid
  6    bulk collect into l_rowid
  7    from T
  8    order by id;
  9
 10    forall i in 1 .. l_rowid.count
 11      update t set order_col = sq_t.nextval
 12      where rowid = l_rowid(i);
 13  end;
 14  /
PL/SQL procedure successfully completed.
SQL>
SQL> select * from t;
        ID  ORDER_COL
---------- ----------
         2          2
         4          4
         3          3
         1          1
         5          5