insert into data_you_thought_was_gone select how_it_looked_before, the_users_hit_delete from data_you_thought_was_gone as of timestamp sysdate - interval '1' hour minus select how_it_looked_before as how_it_looks_now, the_users_hit_delete from data_you_thought_was_gone; Flashback to the rescue again! This approach will only work if you're notified of the data deletion before your undo retention runs out, otherwise you've got to go your backups. You may need to add further filtering if there's been updates to your data as well as deletions too. Still can come in very handy in certain scenarios though :)
create restore point "we_can_revert_to_with_oracle's" guarantee flashback database; Be wary; guaranteed restore points consume space in your flash recovery area until (explicitly) dropped, which can lead to embarrassing space errors if you forget they're there!
For a worked example of this in action, have a look at this article in Morgan’s library.