It *might* work, but my thoughts are the risk profile is too high because we do *whatever we like* with the SCN number. It is out of your control.
For example, *already* we do the following:
- Sometimes we stamp the change SCN on the block as you make the change
- Sometimes we stamp the change SCN on the block much later, when someone else queries that block
- Sometimes we stamp a *totally* different SCN on the block much later.
And one day, we could easily come up with 10 brand new ways in which we use/update/modify the SCN on rows and blocks purely to suit *our* needs.
So how would you *ever* be confident that
a) you've tested every use case?
b) applying a patch to the database won't totally break your solution, and possible leave it unsolvable ?
Check out this thread - it is a long read, but ultimately arrives on a solution to pick up deltas in an efficient way without locking tables.
https://asktom.oracle.com/pls/asktom/asktom.search?tag=selecting-rows-that-have-changed-via-timestamp-problematic-with-non-blocking-reads