SQL> alter database add supplemental log data;
Database altered.

SQL> select count(*) from soe.warehouses;
  COUNT(*)
----------
      1000

SQL> delete from soe.warehouses where warehouse_id >500;
500 rows deleted.

SQL> commit;
Commit complete.

SQL> select count(*) from soe.warehouses;
  COUNT(*)
----------
       500

SQL> select to_char(versions_starttime,'yyyy-mm-dd hh24:mi:ss') starttime,to_char(versions_endtime,'yyyy-mm-dd hh24:mi:ss') endtime,
     versions_xid xid,versions_operation operation from soe.warehouses versions
     between timestamp to_date('2021-07-15 13:00:00','yyyy-mm-dd hh24:mi:ss') and sysdate where versions_xid is not null order by starttime;

STARTTIME           ENDTIME             XID              O
------------------- ------------------- ---------------- -
2021-07-15 13:02:26                     0A00070015030000 D
略......

SQL> set heading off 
SQL> set line 250
SQL> spool undo.sql

SQL> select undo_sql from flashback_transaction_query where xid = hextoraw('0A00070015030000');
insert into "SOE"."WAREHOUSES"("WAREHOUSE_ID","WAREHOUSE_NAME","LOCATION_ID") values ('1000','82PeaUDdrydEazffQaLwi','2361');
略......

SQL> spool off

SQL> @undo.sql

SQL> commit;
Commit complete.

SQL> select count(*) from soe.warehouses;
  COUNT(*)
----------
      1000