People forget from time to time that when you query the dynamic performance views (v$ views) you shouldn’t expect to get a read-consistent result set – and this can lead to some very strange results, especially when you start writing joins between views (for example you may be able to find a session is both “not waiting” and “waiting” if you still join v$session and v$session_wait).
Here’s a visual analogy to help you remember what’s going on: “Australian Propellors ?”
And a graphic to help explain the phenomenon: “Rolling Shutter Effect.”
And here, for stunning effect only, is another clip that appeared in the “related topics”.

I think the needed in-memory-undo structures just to show consistent data would be far too big and ‘expensive’! (even more latches?)
And the biggest advantage of this inconsistency is the sampling of changes like Tanel Põder snapper and other tools do without much effort.
I like this particular inconsitency ;-)
Comment by Martin Berger — February 5, 2011 @ 9:26 am UTC Feb 5,2011 |