To resolve the problem, you should first review the
application code to ensure that it is closing all JDBC Statement and
ResultSet objects when it finishes using them. Secondly, you should
compare the value of the Statement cache size for your data source
to the maximum number of open cursors in Oracle.
To check the Statement cache size:
- In WebSphere Application Server V5, navigate to the data
source in the Admin Console. The Statement cache size appears on
the main data source configuration panel.
- In WebSphere Application Server V6, navigate to the data
source in the Admin Console. Under Additional Properties, select WebSphere
Application Server data source properties. The first property listed on
the resulting screen is the Statement cache size.
To check the maximum number of open cursors, open the initSID.ora
file, where SID is the Oracle system identifier for the database.
The file can be found in the <Oracle home>/admin/SID/pfile
directory. Look for the open_cursors setting.
Set the open_cursors in Oracle to a value larger than the
Statement cache size for the data source in WebSphere Application
Server. Also set the following property in the initSID.ora file:
cursor_sharing = force
These actions will ensure that the number of cursors opened by your
application running in WebSphere Application Server will not exceed the
maximum number of open cursors in Oracle.
|