ORA-01000: maximum open cursors exceeded
For Each para As OracleParameter In cmd.Parameters
Based upon you responses to the other answers, your problem is most likely the IIS web server is using a connection pool for your database connection. A connection pool will create a number of connections and, from the database perspective, keep them open for a long time. It does this because the assumption being made is opening a database connection is time consuming in relation to the duration of displaying a page.
You need to review the configuration of the IIS and either disable the connection pool (not recommended), or make the pool size smaller.