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.
Comment on Re: Template::Plugin::DBI, Oracle and cursors
Thanks for that valuable info (no, that was no irony). I have already solved my problem using prepared statements, but if I run into that error again despite of this, your info will prove useful.