Recently we had an issue where queries received a non-desirable explain plan, after weeks and weeks of production use. This lead to hundreds of sessions waiting on direct path write temp. I suspect this might be related to bind variable peeking but am not 100% sure.
It is interesting to note that this happened shortly after a half- dozen datafiles were resized(by someone else of course :D). Does resizing datafiles during heavy production use invalidate cursors in the shared pool? This is on a single-instance database with about 2000 connections.
-- //www.freelists.org/webpage/oracle-l