IBM Support

When using IBM Content Navigator, you may experience ORA-01000: maximum open cursors exceeded depending on the Oracle JDBC driver version 12.1.0.x used.

Flashes (Alerts)


Abstract

When using IBM Content Navigator, you may experience ORA-01000: maximum open cursors exceeded depending on the Oracle JDBC driver version 12.1.0.x used.

Content

When using IBM Content Navigator, you may experience ORA-01000: maximum open cursors exceeded depending on the Oracle JDBC driver version 12.1.0.x used.

Here is the excerpt recorded in the ICM WebSphere Application Server SystemOut.log :
....
....
Caused by: ORA-01000: maximum open cursors exceeded
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:450)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:399)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1017)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:655)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:249)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:566)
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:202)
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:45)
at oracle.jdbc.driver.T4CStatement.executeForDescribe(T4CStatement.java:766)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:897)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1034)
at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1244)
at oracle.jdbc.driver.OracleStatementWrapper.executeQuery(OracleStatementWrapper.java:420)
at oracle.jdbc.OracleDatabaseMetaData.getTableTypes(OracleDatabaseMetaData.java:3783)
at oracle.jdbc.OracleDatabaseMetaData.getTables(OracleDatabaseMetaData.java:3561)
...
...

Cause

This is caused by a known Oracle bug which has been fixed in Oracle Patch 19632480.
Here is the full SQL statement that is increasing number of open cursors:
select 'TABLE' as table_type from dual union select 'VIEW' as table_type from dual union select 'SYNONYM' as table_type from dual
That query is in the Oracle JDBC driver source and fix is delivered in Oracle Patch.


Environment

IBM Content Navigator V3.0.x, Oracle 12.1.0.2

Diagnosing the problem

Run the query below to verify the number of open cursors.
select sql_text, count(*) from v$open_cursor group by sql_text;
The above oracle query should show many open cursors for this query:
select 'TABLE' as table_type from dual union select 'VIEW' as table_type from dual union select 'SYNONYM' as table_type from dual


Resolving the problem

To address the issue, you can use one of the Oracle JDBC driver versions below:
    Base JDBC 12.1.0.1.0 driver from the OTN site, which is not affected: http://www.oracle.com/technetwork/database/features/jdbc/jdbc-drivers-12c-download-1958347.html
    Or go to support.oracle.com, sign in and search for Patch 19632480. Then, download the patched JDBC driver from there.

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSEUEX","label":"IBM Content Navigator"},"Component":"","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF016","label":"Linux"},{"code":"PF033","label":"Windows"}],"Version":"All Versions","Edition":"","Line of Business":{"code":"LOB18","label":"Miscellaneous LOB"}}]

Document Information

Modified date:
26 September 2022

UID

ibm10876882