I recently learnt that oracle has a feature which was pretty useful to me – as the designer/implementator didn’t care much about data history – I can query the historical state of a record if it’s available yet in the oracle cache, like this:
select * from ( select * from sometable where some_condition ) as of timestamp sysdate-1
But now I need to check the historical data within a range. Is it possible anyhow, using the cache?
Yes, like this:
Note that how far back you can go is limited by the UNDO_RETENTION parameter, and will typically be hours rather than days.