|
| Problem | Your application uses 2PC (XA) data source with Oracle® JDBC™ Driver version 9i (for example: 9.2.0.4.0) and receives ORA-02089. | | Cause | The problem is caused by setting AutoCommit to True on the XA Connection. This is a bug with the Oracle JDBC 9i driver. The problem can be reproduced using the attached stand-alone Java™ program (XASimpleTest.java) with straight JDBC calls connecting to Oracle using Oracle JDBC Driver 9i.
Example of stack trace using WebSphere® Application Server V4.0 data source style:
[8/3/04 9:36:27:988 EDT] 366b7af8 ConnectO e destroy(): Exception closing XAConnection java.sql.SQLException: ORA-02089: COMMIT is not allowed in a subordinate session at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134) at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289) at oracle.jdbc.ttc7.Ocommoncall.receive(Ocommoncall.java:138) at oracle.jdbc.ttc7.TTC7Protocol.logoff(TTC7Protocol.java:390) at oracle.jdbc.driver.OracleConnection.close(OracleConnection.java:1436) at oracle.jdbc.pool.OraclePooledConnection.close(OraclePooledConnection.java:232) at com.ibm.ejs.cm.pool.ConnectO.destroy(ConnectO.java:1862) |
Example of stack trace or trace entries using WebSphere Application Server V5.0 data source style:
[9/14/04 18:22:37:693 EDT] 328ca8bc WSRdbXaResour W DSRA0302E: XAException occurred. Error code is: XAER_RMERR. Exception is: <null> [9/14/04 18:24:08:413 EDT] 7738a8b7 WSRdbManagedC d DSA_ERROR ORA-02089: COMMIT is not allowed in a subordinate session
[9/14/04 18:24:08:413 EDT] 7738a8b7 WSRdbManagedC d SQL_STATE_ERROR_CODE 42000 2089
[9/14/04 18:24:08:413 EDT] 7738a8b7 WSRdbManagedC d Exception java.sql.SQLException: ORA-02089: COMMIT is not allowed in a subordinate session at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134) at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289) at oracle.jdbc.ttc7.Ocommoncall.receive(Ocommoncall.java:138) at oracle.jdbc.ttc7.TTC7Protocol.logoff(TTC7Protocol.java:395) at oracle.jdbc.driver.OracleConnection.close(OracleConnection.java:1487) at oracle.jdbc.pool.OraclePooledConnection.close(OraclePooledConnection.java:259) at com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.destroy(WSRdbManagedConnectionImpl.java:1761) at com.ibm.ejs.j2c.MCWrapper.destroy(MCWrapper.java:1305) |
| | Solution | The problem is fixed with Oracle 10g. | |
| |  |
| |
|
Product categories: Software, Application Servers, Distributed Application & Web Servers, WebSphere Application Server, DB Connections/Connection Pooling Operating system(s): Multi-Platform Software version: 3.5, 4.0, 5.0, 5.1, 6.0 Software edition: Edition Independent Reference #: 1180106 IBM Group: Software Group Modified date: 2004-09-23
(C) Copyright IBM Corporation 2000, 2004. All Rights Reserved.
|