Trigger and temp table or materialized view
If flashback does not work for you for some reason, you could add a column to your table to save the original value of the indicator and a trigger of the sort:

create trigger t
before update of ind_col on your_table
for each row
begin
 if :old.ind_save_col = '' then 
   :new.ind_save_col := :old.ind_col; 
 end if;
end;
/


(code not tested). Your nightly process would then copy rows where ind_col != ind_save_col, then reset ind_save_col.