First thing to check is the MAX_OPEN_CURSORS parameter in your init<SID>.ora (the database configuration file). If you don't have this parameter, Oracle is using a default, which is way too low for most serious applications.
Set it to a value of 10000 or so, and restart your database.