Sounds like too many sessions. When I hit that on redhat, I forget exactly but I didn't get an error that out and out told me too many sessions. Check the listener.log and I usually do a ps -ef | grep LOCAL=NO | wc -l. I believe we spawned too many session as a result of multiple plans of the same sql due to a bug with cursor_sharing = force or maybe similar.
-- //www.freelists.org/webpage/oracle-l